hadoop入门之设置datanode的心跳时间的方法

做作业的过程中发现,把一节点停掉,dfsadmin和50070都无法马上感知到一个data node已经死掉

HDFS默认的超时时间为10分钟+30秒。
这里暂且定义超时时间为timeout
计算公式为:
timeout  = 2 * heartbeat.recheck.interval + 10 * dfs.heartbeat.interval

而默认的heartbeat.recheck.interval 大小为5分钟,dfs.heartbeat.interval默认的大小为3秒。
需要注意的是hdfs-site.xml 配置文件中的heartbeat.recheck.interval的单位为毫秒,dfs.heartbeat.interval的单位为秒
所以,举个例子,如果heartbeat.recheck.interval设置为5000(毫秒),dfs.heartbeat.interval设置为3(秒,默认),则总的超时时间为40秒

<property>
        <name>heartbeat.recheck.interval</name>
        <value>5000</value>
</property>

<property>
        <name>dfs.heartbeat.interval</name>
        <value>3</value>
</property>

参考 http://f.dataguru.cn/thread-128378-1-1.html

--------------------------

Linux环境:CentOs6.4
Hadoop版本:Hadoop-1.1.2
master: 192.168.1.241      NameNode    JobTracker   DataNode   TaskTracker
slave:192.168.1.242    DataNode   TaskTracker
内容:设置DataNode的心跳,当某一个节点失去连接之后,在超过设置的时间,看hadoop能否正常工作。
设置时间:

复制代码
代码如下:

<property>
<name>heartbeat.recheck.interval</name>
<value>15</value>
</property>



第一步:  配置hdfs-site.xml
   hadoop入门之设置datanode的心跳时间的方法

第二步:重启Hadoop

第三步:通过网页浏览两个节点的状态。hadoop入门之设置datanode的心跳时间的方法hadoop入门之设置datanode的心跳时间的方法

hadoop入门之设置datanode的心跳时间的方法

hadoop入门之设置datanode的心跳时间的方法

hadoop两个节点都已正常运行。

第三步:杀死主节点的进程,等待15秒。

hadoop入门之设置datanode的心跳时间的方法

通过kill命令杀死master上的DataNode节点。

第四步:查看节点状态

hadoop入门之设置datanode的心跳时间的方法

活着的DataNode还有1个,死亡的DataNode一个

hadoop入门之设置datanode的心跳时间的方法

master上的DataNode节点已经标识为Dead

hadoop入门之设置datanode的心跳时间的方法

只剩下slave节点,其最后连接时间是2秒(Last Contact 2)

hadoop入门之设置datanode的心跳时间的方法

杀死一个节点,两一个节点仍能够正常查看文件信息。

hadoop入门之设置datanode的心跳时间的方法

只有slave节点在运行。

http://www.jb51.net/softjc/137250.html