Datanode heartbeat timeout

简介:

早晨看到报警发现2dead Datanode,查看系统日志发现当时的负载持续高位导致datanode超时没有发送心跳被DatanodeManager摘除,进一步发现高负载是因为一个Job的小文件太多而没有进行map file合并导致在这2台节点上同时起的MAP太多导致的,解决方法参考:http://boylook.blog.51cto.com/7934327/1298651

这里主要看看HeartbeatManager datanode心跳处理流程:

HeartbeatManager会启动一个Daemon线程heartbeatthread,每5秒活动一次,其中每heartbeatRecheckInterval(默认5分钟)秒做一次心跳检测;这个过程会调用datanodemanager去检查datanodelastupdate,如果超过heartbeatExpireInterval= 2 * heartbeatRecheckInterval

+ 10 * 1000 *heartbeatIntervalSeconds(默认3秒钟))则认为datanode已经dead,从heartbeatmanager,blockmanagernetworktopology中删除该datanode的信息;

和高负载的持续时间也是吻合的,调整了MAP合并后解决.



本文转自MIKE老毕 51CTO博客,原文链接:http://blog.51cto.com/boylook/1301896,如需转载请自行联系原作者


相关文章
|
分布式计算 Hadoop
【hadoop】解决Datanode denied communication with namenode because hostname cannot be resolved
【hadoop】解决Datanode denied communication with namenode because hostname cannot be resolved
510 0
|
分布式计算 安全 Hadoop
DataNode连接错误Retrying connect to server
在Hadoop分布式模式部署完成后,通过start-dfs.sh启动NameNode、DataNode、SecondaryNameNode,在master节点通过jps命令查看,看到NameNode、SecondaryNameNode已启动,在slave节点通过jps命令查看,DataNode也已经启动。(此时颇为欣喜,首次完全分布式部署即成功,但是。。。)
1080 0
|
关系型数据库 MySQL Linux
Error connecting to master ‘slave@192.168.200.128:3307‘ - retry-time: 30 retries: 1
Error connecting to master ‘slave@192.168.200.128:3307‘ - retry-time: 30 retries: 1
Error connecting to master ‘slave@192.168.200.128:3307‘ - retry-time: 30 retries: 1
|
Linux 网络协议
|
监控 应用服务中间件 数据库
|
监控 应用服务中间件 Python
|
监控 Linux Shell