Hadoop Thread Resourcemanager未连接到nodemanager

Hadoop Thread Resourcemanager未连接到nodemanager,hadoop,mapreduce,yarn,resourcemanager,Hadoop,Mapreduce,Yarn,Resourcemanager,提前谢谢你的帮助 我正在运行以下版本: Hadoop 2.2 动物园管理员3.4.5 Hbase 0.96 蜂巢0.12 当我转到http://:50070时,我能够正确地看到2个节点正在运行 问题是,当我转到http://:8088时,它显示0个节点正在运行 我知道:8088反映resourcemanager并显示运行的节点管理器的数量。守护进程都会启动,但节点管理器似乎没有连接到resourcemanager 这是日志文件: 2013-12-16 20:55:48,648 INFO org.

提前谢谢你的帮助

我正在运行以下版本:

Hadoop 2.2 动物园管理员3.4.5 Hbase 0.96 蜂巢0.12

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

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

我知道:8088反映resourcemanager并显示运行的节点管理器的数量。守护进程都会启动,但节点管理器似乎没有连接到resourcemanager

这是日志文件:

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已打开

编辑:

对于将来查看此内容的人,我需要编辑my Thread-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> 

纱线.节点管理器.辅助服务
mapreduce_shuffle
warn.nodemanager.aux-services.mapreduce.shuffle.class
org.apache.hadoop.mapred.ShuffleHandler
warn.resourcemanager.scheduler.address
master-1:8030
.resourcemanager.address
master-1:8032
warn.resourcemanager.webapp.address
master-1:8088
warn.resourcemanager.resource-tracker.address
master-1:8031
warn.resourcemanager.admin.address
master-1:8033

您需要指定

主机名:端口


是的,它必须在所有节点上设置,而不仅仅是ResourceManager节点(只需将相同的hadoop的conf dir复制到所有节点就可以了)。如果您需要一些最低限度的工作配置才能开始,请查看此处:

可以使用
rsync
scp
命令将配置文件从主节点复制到从节点:

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

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

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

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

warn.resourcemanager.hostname
硕士1

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

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

warn.resourcemanager.hostname
  • 检查纱线HA是否启用
  • 如果已启用,则为中提到的每个资源管理器启用 web-site.xml Thread.resourcemanager.ha.rm-ids(例如rm1、rm2) 运行resourcemanager服务

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

    是否将Thread.resourcemanager.resource-tracker.address指向资源管理器的主机名?是否只需要主机名?还是主机名和端口?这是在nodemanager的节点上还是在所有节点上?我尝试了这个方法,但没有改变任何事情,可能是我的端口错误-我不确定在哪里检查要使用哪个端口。您需要指定主机名:port。是的,它必须在所有节点上设置,而不仅仅是ResourceManager节点(只需将相同的hadoop的conf dir复制到所有节点就可以了)。如果您需要一些最低限度的工作配置来开始,请看这里:谢谢,这非常有效。请将其作为“答案”进行回答,以便我选择它作为解决方案。是否确实需要
    warn.nodemanager.aux services.mapreduce.shuffle.class
    ?我看上面没有提到