【问题标题】:YARN Resourcemanager not connecting to nodemanagerYARN资源管理器未连接到节点管理器
【发布时间】:2014-01-04 10:27:28
【问题描述】:

提前感谢您的帮助

我正在运行以下版本:

Hadoop 2.2 动物园管理员 3.4.5 Hbase 0.96 蜂巢 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> 

【问题讨论】:

  • 您是否将 yarn.resourcemanager.resource-tracker.address 指向您的资源管理器的主机名?
  • 我只需要主机名吗?还是主机名和端口?这只是在节点管理器的节点上还是在所有节点上?我试过了,但它没有改变任何东西,可能是我的端口错误 - 我不确定在哪里检查要使用的端口。
  • 您需要指定主机名:端口。是的,它必须在所有节点上设置,而不仅仅是 ResourceManager 节点(只需将相同的 hadoop 的 conf 目录复制到所有节点就可以了)。如果您需要一些最小的工作配置来开始,请看这里:toster.ru/q/57046#answer_208326
  • 谢谢,这很好用。请将此作为“答案”回复,以便我选择它作为解决方案。
  • 真的需要yarn.nodemanager.aux-services.mapreduce.shuffle.class吗?我没有看到 hadoop.apache.org/docs/current/hadoop-project-dist/… 上提到它

标签: hadoop mapreduce hadoop-yarn resourcemanager


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    您需要指定

    主机名:端口

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

    【讨论】:

      【解决方案3】:

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

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

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

      【讨论】:

        【解决方案4】:

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

        【讨论】:

          【解决方案5】:

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

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

          【讨论】:

            【解决方案6】:
            1. 检查 YARN HA 是否启用?
            2. 如果它被启用,那么对于每个资源管理器中提到的 纱线站点.xml yarn.resourcemanager.ha.rm-ids (例如 rm1,rm2) 运行资源管理器服务。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2014-11-04
              • 2019-05-05
              • 1970-01-01
              • 2019-04-25
              • 1970-01-01
              • 2022-11-19
              • 2019-10-09
              • 2016-10-31
              相关资源
              最近更新 更多