15

提前感谢您的帮助

我正在运行以下版本:

Hadoop 2.2 zookeeper 3.4.5 Hbase 0.96 Hive 0.12

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

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

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

这是日志文件:

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> 
4

6 回答 6

9

我有一个非常相似的问题,只需指定 ResourceManager主机名即可解决,无需拼出每个服务的确切地址。

<property>
  <name>yarn.resourcemanager.hostname</name>
  <value>master-1</value>
</property>
于 2014-03-02T08:04:36.170 回答
8

您需要指定

主机名:端口

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

于 2013-12-17T22:15:55.663 回答
0

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

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

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

于 2014-02-26T04:23:47.810 回答
0

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

于 2017-02-15T17:23:34.617 回答
-1

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

<property>
    <name>yarn.resourcemanager.hostname</name>
    <value><master-1></value>
</property>
于 2016-03-11T19:51:25.763 回答
-2
  1. 检查 YARN HA 是否启用?
  2. 如果启用它,那么对于 yarn-site.xml yarn.resourcemanager.ha.rm-ids 中提到的每个资源管理器(例如 rm1、rm2)运行资源管理器服务。
于 2016-07-23T11:26:48.360 回答