1. 程式人生 > >hadoop2.X動態新增刪除節點及相關問題總結

hadoop2.X動態新增刪除節點及相關問題總結

hadoop2.X動態新增節點教程及相關問題總結

設定hadoop執行的系統環境

修改系統hostname(通過hostname/etc/sysconfig/network進行修改)

修改hosts檔案,將叢集所有節點hosts配置進去(叢集所有節點保持hosts檔案統一)

設定NameNode(兩臺HA均需要)到DataNode的免密碼登入(ssh-copy-id命令實現,可以免去cp *.pub檔案後的許可權修改)

修改主節點slave檔案,新增新增節點的ip或計算機名資訊(叢集重啟時使用)

hadoop的配置檔案scp到新的節點上(這裡特別注意一定要拷貝nameNode節點的hadoop資料夾,如果拷貝dataNode

的會有問題,在最後總結)

新增DataNode

對於新新增的DataNode節點,需要啟動datanode程序,從而將其新增入叢集

在新增的節點上,執行sbin/hadoop-daemon.sh start datanode即可

namenode節點重新整理datanode,hdfs dfsadmin -refreshNodes

然後在namenode通過hdfs dfsadmin -report檢視叢集情況

也可以通過nameNode50070埠檢視活動的datanode節點數

最後還需要對hdfs負載設定均衡,因為預設的資料傳輸頻寬比較低,可以設定為64M,即hdfs dfsadmin -setBalancerBandWidth 67108864

即可

預設balancerthreshold10%,即各個節點與叢集總的儲存使用率相差不超過10%,我們可將其設定為5%

然後啟動Balancersbin/start-balancer.sh -threshold 5,等待叢集自均衡完成即可

新增Nodemanager

由於Hadoop 2.X引入了YARN框架,所以對於每個計算節點都可以通過NodeManager進行管理,同理啟動NodeManager程序後,即可將其加入叢集

在新增節點,執行sbin/yarn-daemon.sh start nodemanager即可

ResourceManager,通過yarn node -list檢視叢集情況

問題總結:

問題一:我使用虛擬機器搭建的hadoop叢集,在新加入節點的時候由於新節點的MAC地址與原有節點MAC衝突,導致在ping的時候丟包?

問題原因:MAC地址衝突導致,解決辦法修改MAC地址即可。修改辦法自行google(這裡還有個現象:nameNode節點ping新節點,丟包,新節點pingnameNode暢通)

問題二:在複製hadoop資料夾時我複製的datanodehadoop,最終導致,新節點與被複制節點的datanodeUuid一樣(位置:{HADOOPHOME}/tmp/dfs/name/current/VERSION檔案)這樣會導致,被複制節點和新節點的衝突,被複制節點和新節點在web檢視時,或者被複制節點出現,或者新節點出現(但均為死節點

解決辦法:一定要從namenode中複製hadoop資料夾