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

上一課講了怎樣在一臺機器上創建Hadoop環境。咱們僅僅配置了一個NHName Node, 這個Name Node裏面包括了咱們所有Hadoop的東西。包括Name Node, Secondary Name Node, Job Tracker, Task Tracker,這一課解說怎樣把上述配置放到不一樣機器上。從而構建一個分佈式的hadoop配置。node


1. hadoop分佈式安裝概覽ssh

a) 2-10nodes:Name Node, Job Tracker, Secondary Name Node都可以放在一臺機器上,所有的Data NodeTask Tracker放在其它機器上編輯器

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

c) 100+ nodes: 所有的NodeTrackers都分開放。並且加入rack awareness支持,同一時候需要各種優化設置。oop


本課的流程:學習

配置好ssh到所有的機器上。使其可以免輸入password鏈接(如同上一課所述)優化

配置好mastersslavesspa

配置好所有的*-site文件orm

學習使用命令來啓動。控制和關閉Hadoop(常常使用腳本說明例如如下圖)。xml


2. 配置Hadoop2-10個節點上

這個圖很是帥。咱們在HN Client機器上來控制所有的Hadoop機器。每個機器給一個窗體(下圖已經經過ssh連接到每臺機器了,連接方式見上一課)。


第一步:取消所有機器上面的sshpassword訪問

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

把這個文件複製到所有的HNDataSecondary Name Node上面。這樣就可以無password登錄了。


第二步:配置MasterSlaves

所有的配置文件都在/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 NodesData Nodes,可以使用jps命令來查看是否成功啓動了。


start-mapred.sh 這個命令啓動所有的Job TrackersTask Trackers。 相同使用jps來檢測是否啓動了,假設沒有成功,可以去看看logs文件

 

 

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

假設要刪除一個node。可以創建一個excludes文件,在裏面輸入你不想要的node名稱,比方HNData3.

而後配置HN Name Nodecore-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

相關文章
相關標籤/搜索