搭建Hadoop時Slave節點沒出現DateNode進程的原因
正確的Hadoop下的Master、Slave節點jps後會出現
但當我關閉集羣后重新用hdfs namenode -format進行文件格式後,重新啓動集羣,
Slave節點卻jps不到DataNone
原因:hdfs強制性多次初始化數據,會導致VERSION裏面的nameid,clusterID,blockpoolID變化,導致master跟slave服務器的ID無法匹配,無法正常啓動DataNone。
解決方法:修改datanode裏VERSION文件的clusterID 與namenode裏的一致,再重新啓動集羣后再執行jps命令可以看到datanode已正常啓動。
步驟:
進入到current,找到VERSION文件,進行文件編輯
找到clusterId,複製的namenode的clusterId到出問題的datanode的clusterId,使其clusterId一致即可。
接着在Master上重新啓動集羣start-all.sh,這時可以通過jps可以查看各個節點所啓動的進程是正確的了。
最後有事沒事不要隨便初始化NameNode,初始過一遍就好了,初始多遍是會導致像上面一樣slave節點上DataNode不能啓動,同時用完後也記得關閉集羣stop-all.sh。