本文主要是介绍Nodemanager Unhealthy(exit code :143/35),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
现象
CDH6.2.1版本,生产环境,通过cm页面发现yarn告警,提示Nodemanager Health Checker Bad,检查yarn前端8088页面,集群可用内存和CPU也相应减少,说明此NM失联不可用,重启NM后恢复正常。并且一个周内同一个数据NM节点出现两次这种情况。
问题定位
首先查找CM agent对NM的监控日志,进入目录:
/var/run/cloudera-scm-agent/process/*-yarn-NODEMAGER/logs/
查看stderr.log文件,发现是报的内存溢出,具体原因还要进一步定位
再尝试查找yarn的日志,进入目录 :
/var/log/hadoop-yarn/
查看对应日期的log文件,在日志里发现了一个问题,就是出现了大量的container报143错误,网上查了一下很多都说是内存不足。
一开始以为就是这个原因导致的NM不可用,但是仔细一想,这个143是container的报错,应该不会影响NM啊~
于是,去其他NM节点查看,果然也有很多143的报错,这样的话二者应该就没啥关系了。绞尽脑汁,也没查出来什么问题,只能找cloudera技术支持,怀疑是不是集群哪里配置有问题,但是NM的内存都提升到6G了,按理说够用了。
再查看NM日志,发现还有exit code:35的日志,但是这个报错有点莫名其妙,为什么会导致NM不可用更是摸不着头脑
结论
经过与cloudera技术人员的反复沟通,上传了一堆日志,最后得出以下几点结论:
- 143报错是已知的正常现象。可以看做是Log层面的小bug, 有一种误导人的倾向。已经有内部jira CDH-18221 记录这一现象:
CDH-18221 Container exits with 143 upon success
Resolution:Not A Bug
总体来说整个应用是正常完成的。可以忽略这一143报错现象。 - NM不可用,就是因为exit code:35的报错,这是CDH6.2.1上的已知问题YARN-8751
YARN-8751
Container-executor permission check errors cause the NM to be marked unhealthy
参考链接:https://issues.apache.org/jira/browse/YARN-8751
这个问题已经在CDH 6.3.4 修复,要想解决这个bug只能升级CDH版本。。。
参考文档:https://docs.cloudera.com/documentation/enterprise/6/release-notes/topics/rg_cdh_634_fixed_issues.html#fixed_in_6.3.4_yarn
这篇关于Nodemanager Unhealthy(exit code :143/35)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!