Hadoop 客户端.RMProxy:连接到 ResourceManager

问题描述 投票:0回答:3

Hadoop 客户端.RMProxy:连接到 ResourceManager

我在linux上设置单节点集群:http://tecadmin.net/setup-hadoop-2-4-single-node-cluster-on-linux/

当我运行如下所示的 MapReduce 应用程序时:

hadoop jar hadoop-mapreduce-examples-2.6.0.jar grep input output 'dfs[a-z.]+

I got the ff INFO:
15/02/25 23:42:54 INFO client.RMProxy: Connecting to ResourceManager at /0.0.0.0:8032
15/02/25 23:42:56 INFO ipc.Client: Retrying connect to server: 0.0.0.0/0.0.0.0:8032. Already tried 0 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS)
15/02/25 23:42:59 INFO ipc.Client: Retrying connect to server: 0.0.0.0/0.0.0.0:8032. Already tried 1 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS)
15/02/25 23:43:02 INFO ipc.Client: Retrying connect to server: 0.0.0.0/0.0.0.0:8032. Already tried 2 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS)

jps:

5232 SecondaryNameNode
6482 RunJar
5878 NodeManager
6521 Jps
4905 NameNode
5759 ResourceManager
5023 DataNode

搭建单节点集群时如何连接ResourceManager?

我尝试添加到

yarn-site.xml
,但没有成功。

<property>
<name>yarn.resourcemanager.address</name>
<value>127.0.0.1:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>127.0.0.1:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>127.0.0.1:8031</value>
</property>

谢谢

hadoop hadoop-yarn
3个回答
0
投票

只需记住有关运行 Hadoop 的一个方面即可。给出了三种模式:单机、伪分布式、全分布式。

单机和伪分布式运行在同一个节点。实际上,它们仅在您的计算机上运行。这不需要您显示的配置:http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/SingleCluster.html

先验,这就是yarn-site.xml 中单个节点所需的全部内容:

<configuration>
<property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
</property>

但也可以使用进一步的配置。我的伪分布式模式的纱线站点如下:

<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>localhost:8025</value>
</property>
<property>
    <name>yarn.resourcemanager.scheduler.address</name>
    <value>localhost:8030</value>
</property>
<property>
    <name>yarn.resourcemanager.address</name>
    <value>localhost:8050</value>
</property>

提示:请确保您在配置文件中输入的 IP。我建议您将此 IP 添加到您的 etc/hosts 并提供主机名。因此,在配置文件中使用主机名。


0
投票

此问题可能是由于缺少 HADOOP_CONF_DIR,MapReduce 应用程序需要它来连接到yarn-site.xml中提到的资源管理器。因此,在运行 MapReduce 作业之前,请尝试使用适当的 Hadoop Conf 目录手动设置/导出 HADOOP_CONF_DIR,例如 export HADOOP_CONF_DIR=/etc/hadoop/conf。 这种方法对我有用:)


0
投票

我在 Kubernetes 上运行 Hadoop 实例时遇到了同样的问题。问题在于错误消息本身“尝试连接到 ResourceManager 时出现连接错误”。

Ps: ResourceManager 监听端口 8032(除非更改)

确保您在与 ResourceManager 相同的网络中运行 MapReduce 作业,因为它将侦听此地址:

http://<RESOURCE_MANAGER_IP>:8032

© www.soinside.com 2019 - 2024. All rights reserved.