项目场景:
当Hadoop因为各种原因导致需要快照或重新配置,进入到最后一步格式化过后,开启集群发现主机进程一切正常,从节点其他进程也都有,唯独datanode进程没有的情况。
主机启动集群显示一切正常,主机的进程也全部出来,如图所示
但是从节点,例如我的2到4从节点,拿第二个从节点的图来看,进程除了datanode,都是正常的
原因分析:
可能是因为两次甚至多次的格式化导致的
解决方案:
我们可以找到datanode的资料,VERSION文件,然后把所有用到datanode进程的节点上面的VERSION都删除,再在主机上重新进行格式化,再次使用jps,datanode进程就可以出来了。
因为每个人的Hadoop放在不同文件,所以根据自己的配置文件所放的地方,去寻找version文件,我的Hadoop放在opt文件下面,所以我在opt下面去找
在xshell中去到VERSIONWEN文件所在的地址使用rm命令把VERSION文件删除,注意:
所有要用到datanode的从节点都要删除(拿完全分布来说,除了主机都要删除)下图是从节点删除VERSION文件后,主机已经重新格式化后,开启集群,使用jps的丛节点截图
总结:解决步骤
1.找到datanode有关资料文件的存放地址
2.把需要用到datanode进程的节点上的VERSION文件删除
3.对主机重新进行格式化,开启集群,jps命令查看是否解决问题(注意格式化需要谨慎,建议先快照)