在Hadoop 2.2.0中尝试Hadoop Mapreduce示例时出错

在Hadoop 2.2.0中尝试Hadoop Mapreduce示例时出错,mapreduce,resourcemanager,Mapreduce,Resourcemanager,我有以下几点。 Namenode和Datanode似乎工作得很好。 但是Resourcemanager和Nodemanager似乎有一些奇怪的配置问题,我找不到。 乍一看一切都很好,因为每个webgui都在响应。 但如果我执行 bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar wordcount /input /out2 我得到以下错误 2014-02-04 08:57:05,906 INFO

我有以下几点。 Namenode和Datanode似乎工作得很好。 但是Resourcemanager和Nodemanager似乎有一些奇怪的配置问题,我找不到。 乍一看一切都很好,因为每个webgui都在响应。 但如果我执行

bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar wordcount /input /out2
我得到以下错误

2014-02-04 08:57:05,906 INFO  [main] mapreduce.Job (Job.java:monitorAndPrintJob(1345)) -  map 0% reduce 0%
2014-02-04 08:57:14,146 INFO  [main] ipc.Client (Client.java:handleConnectionFailure(783)) - Retrying connect to server: datanode0/10.80.10.132:59135. Already tried 0 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=3, sleepTime=1 SECONDS)
2014-02-04 08:57:15,147 INFO  [main] ipc.Client (Client.java:handleConnectionFailure(783)) -     Retrying connect to server: datanode0/10.80.10.132:59135. Already tried 1 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=3, sleepTime=1 SECONDS)
2014-02-04 08:57:16,149 INFO  [main] ipc.Client (Client.java:handleConnectionFailure(783)) - Retrying connect to server: datanode0/10.80.10.132:59135. Already tried 2 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=3, sleepTime=1 SECONDS)
这真的很奇怪,因为配置说明了一些不同的东西

<name>yarn.nodemanager.address</name>
<value>${yarn.nodemanager.hostname}:36123</value>
warn.nodemanager.address
${warn.nodemanager.hostname}:36123
这真的很奇怪,因为我不明白他为什么要把端口59135。。。哪个btw总是一些随机端口。
有人能告诉我正确的方向来查找Hadoop 2.2.x安装指南的错误吗?请点击此链接


当我在本地运行Hadoop时,我也有同样的症状。我发现我需要将以下内容添加到Thread-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>

.resourcemanager.address
127.0.0.1:8032
warn.resourcemanager.scheduler.address
127.0.0.1:8030
warn.resourcemanager.resource-tracker.address
127.0.0.1:8031
在您的情况下,需要为每个属性设置适当的值,具体取决于您尝试访问的位置。您是否配置了这些属性


我希望这有帮助

您必须在所有节点中配置主机名和端口号,而不仅仅是在资源管理器节点中

我不运行它,也不想在一台机器上运行它。我有一个虚拟机视图。这些值似乎很好。。。或者它们具有所有默认值。但是你的意思是一个节点管理器的主机名不应该是0.0.0.0,而应该是127.0.0.1吗?我并不是说你必须在一台机器上运行它;只是您需要配置这些属性。127.0.0.1是localhost—您正在运行的机器—我只是以它为例。您应该为服务器使用正确的主机IP地址或DNS名称。这些属性已设置。。。我仍然想知道为什么它使用随机端口连接到nodemanager