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

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

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

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值