datenode以固定週期向namenode發送心跳,namenode若是在一段時間內沒有收到心跳,就會標記datenode爲宕機。
此段時間的計算公式是:
timeout = 2 * heartbeat.recheck.interval + 10 * dfs.heartbeat.interval
而默認的heartbeat.recheck.interval 大小爲5分鐘,dfs.heartbeat.interval默認的大小爲3秒。 node
因此namenode若是在10分鐘+30秒後,仍然沒有收到datanode的心跳,就認爲datanode已經宕機,並標記爲dead
注意:hdfs-site.xml中
heartbeat.recheck.interval的單位爲毫秒
dfs.heartbeat.interval的單位爲秒
http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml apache