Hadoop集羣動態添加節點後節點數量未增加且節點名稱不穩定的解決方案

  • 問題現象

當前有01、02、03三個節點的hadoop集羣,其中01是master節點,02、03爲slave節點。當動態添加04的slave節點後,hadoop的web界面中顯示的節點數目未增加。進一步觀察,節點列表中的slave節點內容,時而是02、04節點,時而是02、03節點,非常詭異。

 


  •  分析原因

找到datadir目錄下的current/VERSION文件,03和04服務器中的datanodeUuid數值完全一致,可推斷,master節點把03和04當做同一臺服務器來處理了。原因是,之前03服務器已經啓動過,生成的VERSION中已經記錄了datanodeUuid,克隆虛擬機的時候,所有信息都保留和03服務器一樣。

 

  • 解決方案

考慮到如果不是克隆而是直接安裝的情況下,04服務器的datadir和tmpdir目錄下是空白的,因此,將04服務器的DataNode、NodeManager服務停止,刪除datadir和tmpdir目錄下的所有文件,重新啓動DataNode、NodeManager服務,再次觀察,hadoop集羣中的內容顯示了02、03、04三個datanode,與預期一致,問題解決。

  • 注意事項

通過拷貝或者克隆虛擬機的方式新增節點時,需要做如下幾項操作:

1、修改主機名、IP地址,重啓新增的節點,並將/etc/hosts文件拷貝到集羣中的其他節點中(若使用本地DNS服務器,此步驟可省略,只需要在DNS服務器中將改節點添加到域名解析記錄中即可);

2、新增的節點需要重新運行ssh-keygen -t rsa生成公鑰,並將公鑰添加到authorized_keys文件中,並拷貝到集羣中的其他節點中。

參考資料:

1、Hadoop datanode正常啓動,但是Live nodes中卻缺少節點的問題

https://blog.csdn.net/wk51920/article/details/51729460

2、hadoop2.7 動態新增節點和刪除節點

https://blog.csdn.net/Mark_LQ/article/details/53393081

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章