无法在主节点上启动节点管理器 [英] Unable to start a node manager on master

查看:474
本文介绍了无法在主节点上启动节点管理器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在设置一个Hadoop YARN集群,我使用一台机器作为主机和从机。当我使用以下命令启动YARN时,它在从节点上启动节点管理器,但不在主节点上启动。

  sbin / yarn -daemons.sh start nodemanager 

我有一个master,也是slave,然后我有另外两个slave



我得到的错误:

  org.apache.hadoop.yarn.exceptions.YarnRuntimeException:java.net.BindException:问题绑定到[0.0.0.0:8040] java.net.BindException:地址已在使用中;详情请参阅:http://wiki.apache.org/hadoop/BindException 

输出一些命令。

  cat / grep 8040 
ampify 8040 / tcp#Ampify消息协议
ampify 8040 / udp#安装消息协议

lsof -i tcp:8040
命令PID用户FD类型设备SIZE / OFF节点名称
java 28021 df 195u IPv6 3580602 0t0 TCP server1.mydomain.com:ampify(LISTEN




假设机器上有另一个服务器这里显示为Ampify)合法绑定到端口8040,并且您不想停止该服务,则可以重新配置NodeManager用于定位器的端口。设置属性 yarn.nodemanager。 localizer.address 在您的yarn-site.xml文件中。此处记录如下:



http://hadoop.apache.org/docs/r2.4.1/hadoop-yarn/hadoop-yarn-common/yarn-default.xml p>

从Hadoop树中的XML源中提取它,这里是属性的文档:

 < property> 
< description>定位器IPC所在的地址。< / description>
< name> yarn.nodemanager.localizer.address< / name>
< value> $ {yarn.nodemanager.hostname}:8040< / value>
< / property>


I am setting up a Hadoop YARN cluster and I am using a machine as both a master and a slave. When I start the YARN using the following command, it starts the nodemanager on slaves but not on the master node.

sbin/yarn-daemons.sh start nodemanager

I have a master which also is slave and then I have another two slaves within the cluster, the nodemanagers in the slaves are starting properly.

The error I get :

org.apache.hadoop.yarn.exceptions.YarnRuntimeException: java.net.BindException: Problem binding to [0.0.0.0:8040] java.net.BindException: Address already in use; For more details see:  http://wiki.apache.org/hadoop/BindException

Output of some of the Commands .

cat /etc/services | grep 8040
ampify          8040/tcp                # Ampify Messaging Protocol
ampify          8040/udp                # Ampify Messaging Protocol

lsof -i tcp:8040
COMMAND   PID USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
java    28021   df  195u  IPv6 3580602      0t0  TCP server1.mydomain.com:ampify (LISTEN

解决方案

Under the default configuration that Hadoop ships, port 8040 is the port that the NodeManager uses for the localizer. This is basically a server endpoint responsible for bringing the files required to run a container onto the local node. (For example, this can be a MapReduce job's jar file or distributed cache files.)

Assuming that there is another server on the machine (here shown as Ampify) legitimately bound to port 8040, and you don't want to stop that service, then it is possible to reconfigure the port used by the NodeManager for the localizer. Set property yarn.nodemanager.localizer.address in your yarn-site.xml file. This is documented here:

http://hadoop.apache.org/docs/r2.4.1/hadoop-yarn/hadoop-yarn-common/yarn-default.xml

Pulling that from the XML source in the Hadoop tree, here is the documentation for the property:

<property>
  <description>Address where the localizer IPC is.</description>
  <name>yarn.nodemanager.localizer.address</name>
  <value>${yarn.nodemanager.hostname}:8040</value>
</property>

这篇关于无法在主节点上启动节点管理器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆