Hadoop Thread Resourcemanager未连接到nodemanager
提前谢谢你的帮助 我正在运行以下版本: Hadoop 2.2 动物园管理员3.4.5 Hbase 0.96 蜂巢0.12 当我转到http://:50070时,我能够正确地看到2个节点正在运行 问题是,当我转到http://:8088时,它显示0个节点正在运行 我知道:8088反映resourcemanager并显示运行的节点管理器的数量。守护进程都会启动,但节点管理器似乎没有连接到resourcemanager 这是日志文件: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.
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
我遇到了一个症状非常相似的问题,尽管是节点管理员没有连接到资源管理器。问题在于,在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
?我看上面没有提到