2014-04-25 76 views
1

我一直在運行Hadoop 2.3.0集羣,並且我一直注意到狀態頁面(:50070/dfshealth.html)顯示了每兩天發生一次的數據節點已經死亡。在發現Datanode故障後,我使用以下命令重新啓動進程:什麼導致Hadoop 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死亡?有沒有好的工具來診斷過去的失敗?

回答

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 

在數據節點主機,執行以下命令

/usr/local/hadoop/sbin/hadoop-daemon.sh stop datanode ; hadoop datanode 

來自守護程序檢查日誌消息。