1:DataNode工作机制
1:首先,插上电的时候,DataNode会向NameNode汇报块信息,进行注册并记录块信息。
2:NameNode返回注册成功
3:因为可能DataNode的块在工作中可能会损坏,所以每周期会上报一次,默认是六小时,这个时间可以修改。这六个小时,是DataNode先检查一下自己所包含的块,然后再汇报。
4:为了保证DataNode节点正常允许,需要检测该节点的状态,就默认DataNode与NameNode进行每三秒的一次心跳。因为通讯周期为3s,则通讯时间一般不超过3s.
5:如果超过3秒没有回复,则10分钟+30秒还没有收到DataNode的心跳,认为该节点死亡。
2:掉线时限参数设置(这个参数就是上面的十分钟加三十秒)
1:DataNode进程死亡或者网络故障造成DataNode无法与NameNode通信
2:NameNode不会立即把该节点判定为死亡,要经过一段时间,这段时间暂称超时时长。
3:HDFS默认的超时时长为10分+30秒
4:如果定义超时时间为TimeOut,则超时时长的计算公式为
TimeOut = 2*(dfs.namenode.heartbeat.recheck-interval)+10*dfs.heartbeat.interval
5:如果真的超过时限挂掉了,在虚拟机里面使用hdfs -daemon start datanode即可启动。