Hadoop自學筆記(五)配置分布式Hadoop環境

來源:互聯網
上載者:User

上一課講了如何在一台機器上建立Hadoop環境,我們只配置了一個NHName Node, 這個Name Node裡麵包含了我們所有Hadoop的東西,包括Name Node, Secondary Name Node, Job Tracker, Task Tracker,這一課講解如何把上述配置放到不同機器上,從而構建一個分布式的hadoop配置。


1. hadoop分布式安裝概覽

a) 2-10個nodes:Name Node, Job Tracker, Secondary Name Node都可以放在一台機器上,所有的Data Node和Task Tracker放在其他機器上

b) 10-40個nodes: 可以把Secondary Name Node分開來

c) 100+ nodes: 所有的Node和Trackers都分開放,並且添加rack awareness支援,同時需要各類最佳化設定。


本課的流程:

配置好ssh到所有的機器上,使其可以免輸入密碼串連(如同上一課所述)

配置好masters和slaves

配置好所有的*-site檔案

學習使用命令來啟動,控制和關閉Hadoop(常用指令碼說明如)。


2. 配置Hadoop到2-10個節點上

這個圖很帥,我們在HN Client機器上來控制所有的Hadoop機器,每個機器給一個視窗(已經通過ssh連結到每台機器了,連結方式見上一課)。


第一步:取消所有機器上面的ssh密碼訪問

ssh-copy-id -i $HOME/.ssh/id-rsa.pub nuggetuser@HNData1

把這個檔案拷貝到所有的HNData和Secondary Name Node上面。這樣就可以無密碼登陸了。


第二步:配置Master和Slaves

所有的設定檔都在/usr/local/hadoop/conf檔案夾下面

配置好masters來指向Secondary Name Node, 然後配置slaves檔案指向所有的HNData Node

Master檔案預設的是localhost

用任何編輯器開啟masters檔案,刪除localhost, 輸入HN2ndName (就是你Secondary Name Node 的名稱)

同樣,編輯slaves檔案,把所有的HNData Node名稱輸入


第三步:配置所有的Data Node,讓它們指向Name Node,所有的Task Tracker指向Job Tracker

通過core-site.xml配置前者,通過mapred-site.xml配置後者

在HNData Node配置core-site.xml如下(因為我們是直接把上次的機器配置拷貝進來的,所以可以發現這個檔案已經配置過了,如下:)


配置mapred-site.xml如下:



上面的配置應該已經是這樣了,不過最好還是檢查好每一個Data Node中的配置是不是這樣


第四步:重新格式化Name Node

hadoop namenode -format

第五步:配置完成了,可以試著看看能否啟動

start-dfs.sh 這個命令啟動所有的Name Nodes和Data Nodes,可以使用jps命令來查看是否成功啟動了。


start-mapred.sh 這個命令啟動所有的Job Trackers和Task Trackers, 同樣使用jps來檢測是否啟動了,如果沒有成功,可以去看看logs檔案

 

 

3. 啟動和關閉Hadoop各部分的命令

如果要刪除一個node,可以建立一個excludes檔案,在裡面輸入你不想要的node名稱,比如HNData3.

然後配置HN Name Node中core-site.xml如下(在最後添加一個property)


同樣可以建立一個includes檔案來指定包含哪些節點

配置完成後,啟用配置:

hadoop dfsadmin -refreshNodes

我們可以在hnname:50070上面看到被排除的Node


運行rebalancer命令

start-balancer.sh

 

關閉Job Tracker, Task Tracker:

stop-mapred.sh

 

關閉Name Node, Data Nodes:

stop-dfs.sh


 

如果要同時啟動HNName Node, Data Node, Job Tracker, Task Tracker,則直接輸入:

start-all.sh



相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.