DataNode的工作机制

DataNode的工作机制

 

 

1)一个数据块在DataNode上以文件形式存储在磁盘上,包括两个文件,一个是数据本身,一个是元数据包括数据块的长度,块数据的校验和,以及时间戳。

2)DataNode启动后向NameNode注册,通过后,周期性(1小时)的向NameNode上报所有的块信息。

3)心跳是每3秒一次,心跳返回结果带有NameNode给该DataNode的命令如复制块数据到另一台机器,或删除某个数据块。如果超过10分钟没有收到某个DataNode的心跳,则认为该节点不可用。

NameNode判断DataNode死亡的时间:

  timeout = 10 * 心跳间隔时间 + 2 * 检查一次消耗的时间

  心跳间隔时间(dfs.heartbeat.interval): 3s

  检查一次消耗的时间(heartbeat.recheck.interval):5min

  最终结果默认为630s

需要注意的是hdfs-site.xml 配置文件中的heartbeat.recheck.interval的单位为毫秒,dfs.heartbeat.interval的单位为秒

<property>
    <name>dfs.namenode.heartbeat.recheck-interval</name>
    <value>300000</value>
</property>
<property>
    <name>dfs.heartbeat.interval</name>
    <value>3</value>
</property>

 

上一篇:LeetCode | 56. Merge Intervals


下一篇:postgresql 计算时间差的秒数、天数