YARN Resourcemanager没有连接到nodemanager

时间:2013-12-16 21:08:35

标签: hadoop mapreduce yarn resourcemanager

提前感谢任何帮助

我正在运行以下版本:

Hadoop 2.2 zookeeper 3.4.5 Hbase 0.96 Hive 0.12

当我转到http://:50070时,我能够正确地看到2个节点正在运行。

问题是当我转到http://:8088时,它显示0个节点正在运行。

据我所知:8088反映了资源管理器并显示了运行的nodemanagers的数量。守护进程全部启动,但似乎节点管理器没有连接到资源管理器。

这是日志文件:

2013-12-16 20:55:48,648 INFO org.apache.hadoop.yarn.client.RMProxy: Connecting to ResourceManager at /127.0.0.1:8031
2013-12-16 20:55:49,755 INFO org.apache.hadoop.ipc.Client: Retrying connect to server: localhost/127.0.0.1:8031. Already tried 0 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1 SECONDS)
2013-12-16 20:55:50,756 INFO org.apache.hadoop.ipc.Client: Retrying connect to server: localhost/127.0.0.1:8031. Already tried 1 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1 SECONDS)
2013-12-16 20:55:51,757 INFO org.apache.hadoop.ipc.Client: Retrying connect to server: localhost/127.0.0.1:8031. Already tried 2 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1 SECONDS)
2013-12-16 20:55:52,758 INFO org.apache.hadoop.ipc.Client: Retrying connect to server: localhost/127.0.0.1:8031. Already tried 3 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1 SECONDS)
2013-12-16 20:55:53,759 INFO org.apache.hadoop.ipc.Client: Retrying connect to server: localhost/127.0.0.1:8031. Already tried 4 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1 SECONDS)
2013-12-16 20:55:54,760 INFO org.apache.hadoop.ipc.Client: Retrying connect to server: localhost/127.0.0.1:8031. Already tried 5 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1 SECONDS)

我已经检查过并且端口8031已打开。

编辑:

对于将来查看此内容的人,我需要编辑我的yarn-site.xml,如下所示:

<property>
   <name>yarn.nodemanager.aux-services</name>
   <value>mapreduce_shuffle</value>
</property>
<property>
   <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
   <value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
   <name>yarn.resourcemanager.scheduler.address</name>
   <value>master-1:8030</value>
</property>
<property>
   <name>yarn.resourcemanager.address</name>
   <value>master-1:8032</value>
</property>
<property>
   <name>yarn.resourcemanager.webapp.address</name>
   <value>master-1:8088</value>
</property>
<property>
   <name>yarn.resourcemanager.resource-tracker.address</name>
   <value>master-1:8031</value>
</property>
<property>
   <name>yarn.resourcemanager.admin.address</name>
   <value>master-1:8033</value>
</property> 

6 个答案:

答案 0 :(得分:8)

您需要指定

  

主机名:端口

是的,必须在所有节点上设置它,而不仅仅是ResourceManager节点(你可以将同一个hadoop的conf dir复制到所有节点)。如果您需要一些最小的工作配置来开始,请查看此处:toster.ru/q/57046#answer_208326

答案 1 :(得分:8)

我遇到了一个非常类似的问题,只是通过指定ResourceManager 主机名解决了这个问题,无需详细说明每个服务的确切地址。

<property>
  <name>yarn.resourcemanager.hostname</name>
  <value>master-1</value>
</property>

答案 2 :(得分:0)

rsyncscp命令可用于将配置文件从主节点复制到从节点:

for host in $HADOOP_CONF_DIR/slaves; do 
    rsync -rv $HADOOP_CONF_DIR/* $host:$HADOOP_CONF_DIR/
done

注意,这里我假设所有节点都具有相同的hadoop目录布局。

答案 3 :(得分:0)

我也有同样的问题,但在我的情况下,资源管理器中只列出了一个节点管理。我在yarn-site.xml中放置了属性,我可以看到RM中列出的节点。

<property>
    <name>yarn.resourcemanager.hostname</name>
    <value><master-1></value>
</property>

答案 4 :(得分:0)

虽然节点管理员没有连接到资源管理器,但我遇到了一个症状非常相似的问题。问题是在yarn-site.xml中有(或可能是)名为“yarn.nodemanager.hostname”的属性。该设置意外地填充了HDFS“namenode”的主机名,但它应该包含YARN每节点“nodemanager”的主机名。根据为其他属性输入的内容,这会导致各种错误,如“重试连接”,“连接被拒绝”或资源分配错误。将其设置为“0.0.0.0”(默认值)可解决问题。

答案 5 :(得分:-2)

  1. 检查YARN HA是否已启用?
  2. 如果启用它,则为每个资源管理器提供 纱的site.xml yarn.resourcemanager.ha.rm-ids(例如rm1,rm2) 运行resourcemanager服务。