【问题标题】:Hadoop YARN can't start resource manager from data nodes (Ubuntu 16.04 on EC2)Hadoop YARN 无法从数据节点启动资源管理器(EC2 上的 Ubuntu 16.04)
【发布时间】:2017-09-27 02:49:46
【问题描述】:

我正在尝试使用 AWS EC2s 在 4 个节点上构建一个 Hadoop 集群,所有 Ubuntu 16.04。

似乎一切正常,在格式化 namenode 或运行 start-dfs.shstart-yarn.sh 时,日志文件不会产生任何错误

但是当我尝试将文件上传到 HDFS 时,数据节点似乎无法连接到资源管理器。 namenode 上的一般错误告诉我有 0 个节点正在运行,数据节点的日志文件告诉我:

INFO org.apache.hadoop.yarn.server.nodemanager.NodeStatusUpdaterImpl: Registering with RM using containers :[]
INFO org.apache.hadoop.ipc.Client: Retrying connect to server: ip-10-0-0-190.eu-central-1.compute.internal/10.0.0.190:8025. Already tried 0 time(s); maxRetries=45

它指向namenode的私有IP地址(10-0-0-190),同一VPC中的不同EC2实例。

yarn-site.xml 对于每个节点(数据节点和名称节点)看起来都一样,都指向名称节点:

<?xml version="1.0"?>
<!--
  ...
-->
<configuration>
    <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.resource-tracker.address</name>
        <value>10.0.0.190:8025</value>
    </property>
    <property>
        <name>yarn.resourcemanager.scheduler.address</name>
        <value>10.0.0.190:8030</value>
    </property>
    <property>
        <name>yarn.resourcemanager.address</name>
        <value>10.0.0.190:8050</value>
    </property>
</configuration>

根据这些日志错误/警告,我找不到我做错了什么,而且我发现很难判断出了什么问题。

非常感谢您的帮助!如果需要,我可以提供更多详细信息/日志/配置详细信息。

【问题讨论】:

  • 你能从数据节点连接到名称节点吗? telnet 10.0.0.190 8025
  • 谢谢谢尔盖,我在运行命令时没有得到任何响应。服务器只能通过 SSH 端口 22 访问。这是否意味着我应该调整名称节点的防火墙设置,即使它们在同一个 VPC 中?这是否意味着我应该打开更多端口?安全呢?
  • 感谢您为我指明正确的方向:我没有以正确的方式配置防火墙。您应该打开 Hadoop 网络中服务器之间的所有(相关)入站流量。当您使用 AWS 时,请转到安全组并允许来自您的安全组的所有 TCP。

标签: ubuntu hadoop amazon-ec2 hadoop-yarn


【解决方案1】:

您是否更新了数据节点中的 /etc/hosts 文件?还要在数据节点上运行 jps 命令来查看它们是否正在运行。

【讨论】:

  • 感谢您的回复。 jps 正在回馈:26053 Jps, 25615 DataNode, 25743 NodeManager。主机看起来像:10.0.0.190 hadoop-master10.0.0.190 hadoop-snn10.0.0.83 hadoop-slave-110.0.0.244 hadoop-slave-210.0.0.185 hadoop-slave-3 在所有节点上
  • 您可以尝试使用端口 8032 而不是 8050 作为 yarn.resourcemanager.address 属性吗?
  • 感谢您为我指明正确的方向:我没有以正确的方式配置防火墙。您应该打开 Hadoop 网络中服务器之间的所有(相关)入站流量。当您使用 AWS 时,请转到安全组并允许来自您的安全组的所有 TCP。
猜你喜欢
  • 2018-04-08
  • 1970-01-01
  • 2015-04-15
  • 2014-01-04
  • 2022-11-19
  • 2017-07-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多