搭建Hadoop时Slave节点没出现DateNode进程的原因

搭建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。

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