hadoop2.2.0 nodemanager启动后失败分析!!!

可紊 提交于 2020-01-07 12:39:43

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

在安装好hadoop2.2.0集群后,依次执行start-dfs.sh和start-yarn.sh脚本启动hadoop相关的服务。各个服务均能正常启动。但是过了一段时间后会发现nodemanager会自动失败退出。

检查日志信息发现一直报本机与一个0.0.0.0的连接失败,然后继续与进行通信尝试一段时间后nodemanager失败。具体信息如下:

org.apache.hadoop.yarn.exceptions.YarnRuntimeException: java.net.ConnectException: Call From node2/222.18.159.123 to 0.0.0.0:8031 failed on connection exception: java.net.ConnectException: Connection refused; For more details see:  http://wiki.apache.org/hadoop/ConnectionRefused

Caused by: java.net.ConnectException: Call From node2/222.18.159.123 to 0.0.0.0:8031 failed on connection exception: java.net.ConnectException: Connection refused; For more details see:  http://wiki.apache.org/hadoop/ConnectionRefused




通过检查配置文件知道8031端口出现在yarn-site.xml配置文件的yarn.resourcemanager.scheduler.address配置项中。yarn.resourcemanager.scheduler.address 是resourcemanager暴漏给nodemanager的地址和端口。nodermanager利用这个地址通过心跳机制与RM通信。
正常情况下我的NM应该与RM通信,但是NM却一直与0.0.0.0通信.因此查阅官方默认的yarn-site.xml配置文件,发现其中yarn.resourcemanager.hostname的默认值被设置成:0.0.0.0了(怪不得一直与0.0.0.0通信)。发现原来是我设置的主机ip在这里没有生效。
在yarn-site.xml中添加一项新的项,将yarn.resourcemanager.hostname的值修改为master机器的ip地址。


重启hadoop服务,一切正常!!!


注:nodemanager启动后要通过心跳机制定期与RM通信,否则RM会认为NM死掉,会停止NM的服务。
同时通过这次失败提醒出现问题要多去尝试(我几乎把网上的方法试了个遍。。。。。。)多参考官方文档。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!