hadoop Unhealthy Nodes问题解决

1、问题来源

前几天因为一个hive SQL的问题,导致其中一台机器的磁盘空间不足,删除临时文件解决了空间不足的问题;

查看http://hadoop/cluster/nodes/unhealthy 发现出现了一个unhealty节点,错误信息如下

1/1 local-dirs turned bad: /usr/local/goldmine/hadoop/tmp/nm-local-dir;
1/1 log-dirs turned bad: /usr/local/goldmine/hadoop/hadoop-2.4.0/logs/userlogs

虽然空间问题解决了,但是unhealthy节点确没有恢复;


2、原因查找

NodeManager默认会每两分钟检查本地磁盘(local-dirs),找出那些目录可以使用。注意如果判定这个磁盘不可用,则在重启NodeManager之前,就算磁盘好了,也不会把它变成可用。代码在LocalDirsHandlerService,DirectoryCollection。

当好磁盘数少于一定量时,会把这台机器变成unhealthy,将不会再给这台机器分配任务。


3、解决方案-重启相关服务

3.1 重启nodemanager: 

     /usr/local/goldmine/hadoop/default/sbin/yarn-daemon.sh stop nodemanager
     /usr/local/goldmine/hadoop/default/sbin/yarn-daemon.sh start nodemanager
3.2 重启resourcemanager,(否则会导致修改的节点状态错乱) 

    /usr/local/goldmine/hadoop/default/sbin/yarn-daemon.sh stop resourcemanager
    /usr/local/goldmine/hadoop/default/sbin/yarn-daemon.sh start resourcemanager
3.3 刷新http://hadoop/cluster/nodes/unhealthy页面: 
可以看到不健康的nodemanager已经消失在列表了。
3.4 命令显示yarn各节点状态: 
    yarn node -list -all





参考:

1、hadoop Unhealthy Nodes

2、hadoop-2.6.0 Unhealthy Nodes 问题,hadoop2.6.0安装

3、hadoop本地目录相关代码分析


  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值