2012-10-31 79 views
12

我一直在玩Cloudera,並在開始工作之前定義了簇的數量,然後使用cloudera管理器確保一切正在運行。有沒有辦法將節點添加到正在運行的Hadoop集羣?

我正在開發一個新項目,而不是使用hadoop使用消息隊列來分發工作,但工作結果存儲在HBase中。我可能會啓動10臺服務器來處理作業並存儲到Hbase,但是我想知道如果以後我決定添加更多的工作節點,我可以輕鬆地(讀取:可編程)使它們自動連接到正在運行的羣集,以便它們可以本地添加簇集HBase/HDFS?

這是可能的,我需要學習什麼才能做到這一點?

回答

9

以下是將節點添加到HadoopHBase的文檔。查看文檔,不需要重新啓動集羣。節點可以動態添加。

+1

我是否需要更新所有節點上的從站文件或僅在NameNode上更新? – Tariq

+0

我是否需要在所有節點上更新/ etc/hosts文件,還是僅針對NameNodes? – Tariq

0

如果我正確理解你,你有你自己協調的工作人員連接到HBase來保存他們的數據。您可以根據需要添加儘可能多的這些內容,並且可以在添加它們時連接到Hbase(只要它們可以看到動物園管理員法定人數)。

如果您正在討論增加Hadoop集羣。由於您已經使用Cloudera,因此可以通過cloudera Manager REST APIJava client someone implemented for it

1

執行以下步驟,以幫助您將新節點啓動到正在運行的羣集中。

1> Update the /etc/hadoop/conf/slaves list with the new node-name 
2> Sync the full configuration /etc/hadoop/conf to the new datanode from the Namenode. If the file system isn't shared. 
2> Restart all the hadoop services on Namenode/Tasktracker and all the services on the new Datanode. 
3> Verify the new datanode from the browser http://namenode:50070 
4> Run the balancer script to readjust the data between the nodes. 

如果您不想在NN上重新啓動服務,那麼在添加新節點時。我會說,將名稱提前添加到從站配置文件。所以他們報告爲停用/死亡節點,直到它們可用。遵循上面的DataNode只有步驟。再次,這不是最好的做法。

+0

感謝您的回答,您能否更新您的Hadoop 2.5.2的答案,因爲2.5.2中沒有conf文件夾 – Tariq

0

無需重新啓動hadoop集羣即可完成。根據此document,您可以在包含文件中添加節點,並在hdfs-site.xml和mapred-site.xml文件中進行一些更改,您可以實現此目的。詳細說明請參見this document

相關問題