欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

NameNode是如何判断DataNode是否存可用

程序员文章站 2024-02-21 21:27:28
...

在这之前先了解一下DataNode的工作机制:

    DataNode在启动后会向NameNode注册,注册成功后,DataNode会每隔一小时向NameNode上报一次自己所在节点所有的块信息。之后会每隔3s有一次心跳(与NameNode通信),心跳返回结果会带回来NameNode给该DataNode的命令。NameNode如果超过一定时间没有收到DataNode的心跳,会判定此DataNode不可用。

NameNode是如何判断DataNode是否存可用

NameNode是如何判断DataNode是否存可用

这个超时时长是可以设置的:

如果定义超时时间为TimeOut ,则超时时长的计算公式为:2*DataNode的心跳重新检查间隔+10*心跳间隔
       TimeOut = 2 * dfs.namenode .heartbeat.recheck-interval + 10 * dfs .heartbeat.interval.
       而默认的dfs.namenode .heartbeat.recheck-interval大小为5分钟, dfs.heartbeat.interval默认为3秒。

需要注意的是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>

 

 

相关标签: BigData