我一直在运行Hadoop 2.3.0群集,我一直注意到状态页面(:50070 / dfshealth.html)显示已经死亡的数据节点,每隔几天发生一次。注意到datanode故障后,我使用以下命令重启该过程:
/usr/local/hadoop/sbin/hadoop-daemon.sh stop datanode && /usr/local/hadoop/sbin/yarn-daemon.sh stop nodemanager && /usr/local/hadoop/sbin/hadoop-daemon.sh start datanode && /usr/local/hadoop/sbin/yarn-daemon.sh start nodemanager
一切都在继续。
什么可能导致datanode死亡?是否有很好的工具来诊断过去的失败?
答案 0 :(得分:1)
上述异常(java.net.BindException:问题绑定到[0.0.0.0:50010])表示我们的datanode的另一个实例正在运行,因为您已经使用hadoop-daemon.sh启动datanode启动了datanode。数据节点进程运行正常但仍无法与namenode进行有效通信。
在调试模式下停止并启动namenode和datanode守护进程,可以使用以下命令。
在Namenode主机上,执行以下命令
/usr/local/hadoop/sbin/hadoop-daemon.sh stop namenode ; hadoop namenode
在datanode主机上,执行以下命令
/usr/local/hadoop/sbin/hadoop-daemon.sh stop datanode ; hadoop datanode
检查来自两个守护进程的日志消息。