Hadoop client.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>
由于
答案 0 :(得分: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并提供一个主机名。因此,请在配置文件中使用主机名。
答案 1 :(得分:0)
在Kubernetes上运行Hadoop实例时,我遇到了同样的问题。问题出在错误消息本身“尝试连接到ResourceManager时发生连接错误”。
Ps :ResourceManager在端口 8032 上侦听(除非更改)
请确保您正在与ResourceManager在同一网络中运行MapReduce作业,因为它将在此地址上进行监听:
http://<RESOURCE_MANAGER_IP>:8032
答案 2 :(得分:-1)
此问题可能是由于缺少HADOOP_CONF_DIR,MapReduce应用程序需要将其连接到 yarn-site.xml 中提到的资源管理器。因此,在运行MapReduce作业之前,尝试使用适当的Hadoop Conf目录手动设置/导出HADOOP_CONF_DIR,例如 export HADOOP_CONF_DIR = / etc / hadoop / conf 。 这种方式对我有用:)