永发信息网

hadoop中怎么强制发送心跳

答案:1  悬赏:40  手机版
解决时间 2021-04-15 20:45
hadoop中怎么强制发送心跳
最佳答案
datenode以固定周期向namenode发送心跳,namenode如果在一段时间内没有收到心跳,就会标记datenode为宕机。
此段时间的计算公式是:
timeout = 2 * heartbeat.recheck.interval + 10 * dfs.heartbeat.interval

默认 heartbeat.recheck.interval 是5分钟,dfs.heartbeat.interval是3秒,所以DN挂了后,NN要确定DN为DEAR需要10min30s,也就是630S自动标识为dead。

dfs.heartbeat.interval
3
Determines datanode heartbeat interval in seconds.



dfs.heartbeat.recheck.interval
20000
Determines when machines are marked dead 单位:毫秒!!!

2014-04-02 12:24:33,464 INFO org.apache.hadoop.hdfs.server.blockmanagement.HeartbeatManager: Setting heartbeat recheck interval to 30000 since dfs.namenode.stale.datanode.interval is less than dfs.namenode.heartbeat.recheck-interval

预计检测时间是=2*20+10*3=70,结果发现一台DN down了后,NN检测到的时间还是超过了70秒,最终标记DN为dead的时间是660秒,也就是说这项配置根本就没起作用。接下来我把rechekc的参数设置成100000(也就是100秒),最终发现NN检测到DN挂了确实是用了2*100+10*3 = 230秒。接下来再来解决第一个疑问,
看看什么是dfs.namenode.stale.datanode.interval,这里引进了一个状态叫做“stale”
DataNodes are marked as stale if it does not send heartbeat message to NameNode within the timeout configured using the configuration parameter "dfs.namenode.stale.datanode.interval" in seconds (default value is 30 seconds).

dfs.namenode.stale.datanode.interval = 30000
而且默认情况下这个stale特性是关闭的,还需要把
dfs.namenode.check.stale.datanode = true

只有把这两项都配置上去,再结合上面的heartbeat才能正常work,否则的话就把dfs.heartbeat.recheck.interval设置成30秒以上吧。因为如果时间太多,那么对于NN来说是要不断更新状态的,负载太高。可以看一段dfs.namenode.stale.datanode.interval的说明
Default time interval for marking a datanode as "stale", i.e., if the namenode has not received heartbeat msg from a datanode for more than this time interval, the datanode will be marked and treated as "stale" by default. The stale interval cannot be too small since otherwise this may cause too frequent change of stale states. We thus set a minimum stale interval value (the default value is 3 times of heartbeat interval) and guarantee that the stale interval cannot be less than the minimum value. A stale data node is avoided during lease/block recovery. It can be conditionally avoided for reads (see dfs.namenode.avoid.read.stale.datanode) and for writes (see dfs.namenode.avoid.write.stale.datanode).
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
勒哦勒哦勒哦勒,勒哦勒哦勒哦哦哦是什么歌曲
已知a,b互为倒数,c,d,互为相反数,求负三次根
centos7怎么查看cpu内存等系统性能参数
为什么烘焙时油纸和面包粘在一起了
on the one floor是什么意思
石康的一塌糊涂怎么样?
我想情侣杯子刻字。但是不知道刻什么。 求好
对薄煤层采煤机械的要求有哪些
15+x=31的方程怎样解
每天要经过1公里烂路,买本田思域行吗
拥有诚心才能成功作文大全
找一些5个字的短语~~~~~~~
清朝哪位皇帝是嫡子即位的?
单反的UV镜是不是一定要买
奇瑞最贵的车多少钱
推荐资讯
一个已婚男人最迟应该几点回家?
装备合成有什么用?
手机挂钥匙链的孔很小,钥匙链的细绳子塞进去
驾驶员货物运输从业资格证是否用年审?
揭西县商业企业(集团)公司我想知道这个在什么
一斤蝎子有多少只
玩游戏上瘾了,该怎么办?
请帮我用韩语写一下邮件回复(翻译器勿进)内
求小说穿越之美男入怀 云卿皇后全文
华宇玻璃怎么去啊,有知道地址的么
你快乐就好,用十种语言怎么说
男篮女篮和女排,最近谁夺冠了。
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?