目前有三台主机,配置如下:在hadoop102主机上执行启动脚本(自定义脚本或者start-dfs.sh或者start-all.sh),datanode节点不能正常启动。
第一种情况:
原因:多次 hadoop namenode -format 导致 datanode 的version 里的Cluster-Id 不一致
解决方案:删除hadoop配置文件core-site.xml中指定的缓存数据路径中的数据,然后进行格式化操作。
打开core-site.xml文件,找到缓存路径,
然后使用命令删除这个文件夹
rm -rf /opt/module/hadoop-3.1.3/data
这里要删除另外两个主机 同样位置的文件,也就是在另外两个主机在执行一遍这个命令
然后重新格式化datanode,使用命令:
hadoop namenode -format
最后重新启动hadoop即可
第二种情况:
尝试上述方法依然没有启动其他机器上的datanode节点,
#首先你可以在没有启动datanode上的主机上尝试,单独启动一下datanode,命令如下:
sbin/hadoop-daemon.sh start datenode
#如果启动成功,则是缺少slaves配置问题
使用命令关闭datanode
sbin/hadoop-daemon.sh stop datenode
然后修改slaves配置文件,具体在下文
#如果失败,请查看hdfs、core等配置文件是否正确
可以查看一下{hadoop文件路径}/etc/hadoop/slaves这个文件,这个文件是集群里所有DataNode的主机名,如果缺少某一个主机名,不能全部启动,将全部要启动datanode的主机名加入即可。
hadoop102
hadoop103
hadoop104
重新执行启动脚本即可。
版权归原作者 LakerPauGasol 所有, 如有侵权,请联系我们删除。