【解决】slave机器上的NodeManager启动一段时间之后自动结束

问题如题,查看hadoop/logs下nodemanager的日志(日志位置:hadoop安装目录/logs/yarn-root-nodemanager-slave1.log)

描述如下:

java.net.ConnectException: Call From slave1/192.168.146.128 to 0.0.0.0:8031 failed on connection exception: java.net.ConnectException: Connection refused; 

【解决】slave机器上的NodeManager启动一段时间之后自动结束_第1张图片

原因:nodemanager启动后要通过心跳机制定期与ResourceManager通信,否则ResourceManager会认为nodemanager死掉,停止nodemanager的服务。正常情况下我的nodemanager应该与ResourceManager通信,但是nodemanager却一直与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地址。

【解决】slave机器上的NodeManager启动一段时间之后自动结束_第2张图片


    
    yarn.resourcemanager.hostname
    master

之后重启hadoop服务。

你可能感兴趣的:(hadoop)