一、心跳机制
namenode是负责管理整个集群的,所以必须要知道各个节点的状况。那么问题来了
1.namenode怎么知道从节点的存活?
答:datanode每间隔3秒会主动给namenode发送一次心跳报告,汇报自己的状况
补充:心跳间隔3秒的设置来源于配置文件 >> value 决定间隔时间:
<property>
<name>dfs.heartbeat.interval</name>
<value>3</value>
<description>Determines datanode heartbeat interval in seconds. </description>
</property>
2.什么时候判定namenode死亡?
答:当namenode连续10次没有收到datanode的心跳报告则认为这个datanode可能死了,但这时候不会判定死亡(可能网络延迟),而是namenode主动向datanode发送一次检查,发送一次检查的时间是5min(300000毫秒),如果一次检查没有返回信息,这时候namenode会再进行一次检查,如果再获取不到datanode的返回信息,这个时候才会判定当前的datanode死亡了。
补充:检查的时间5min的设置来源于配置文件 >> value 决定检查时间:
<property>
&