簡體   English   中英

有沒有辦法將節點添加到正在運行的Hadoop集群?

[英]Is there a way to add nodes to a running Hadoop cluster?

我一直在玩Cloudera,我在開始工作之前定義了簇的數量,然后使用cloudera管理器確保一切都在運行。

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

這有可能嗎?為了做到這一點,我需要學習什么?

以下是向HadoopHBase添加節點的文檔。 查看文檔,無需重新啟動群集。 可以動態添加節點。

以下步驟可幫助您將新節點啟動到正在運行的集群中。

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步驟。 再次,這不是最好的做法。

如果我理解正確,你就有工人,你自己協調連接到HBase以保存他們的數據。 您可以根據需要擁有盡可能多的內容,並且可以在添加時連接到Hbase(只要他們可以看到zookeeper仲裁)。

如果您正在談論增加Hadoop集群。 既然您已經使用了Cloudera,那么您可以通過cloudera Manager REST API為其實現Java客戶端來實現這一點。

可以在不重新啟動hadoop集群的情況下完成。 根據此文檔 ,您可以在includes文件中添加節點,並在hdfs-site.xml和mapred-site.xml文件中進行一些更改,您可以實現此目的。 本文檔中給出了詳細說明

使用CDH 5.8.5(Hadoop 2.6)更新了Cloudera的答案 -

要向群集添加新節點,請在ClouderaManager UI上按照下列步驟操作,

  1. 單擊您的群集名稱。
  2. 轉到主機列表。
  3. 進入主機頁面后,單擊“將新主機添加到群集”。
  4. 輸入主機的IP和搜索。
  5. 繼續按照說明操作並繼續執行后續步驟。
  6. 最后,將角色分配給新節點,例如,如果它是數據節點,則僅分配與datanode相關的角色並繼續。
  7. 最后,您的新節點將添加到您的群集中。 單擊完成。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM