当我尝试在YARN上运行pi-example时,Hadoop2.5.2卡在Running Job上

时间:2014-12-22 06:08:19

标签: hadoop yarn

我在使用Ubuntu Server 14.04的3台计算机上运行Hadoop2.5.2

一个是带有ip 192.168.3.1的namenode和resourcemanager 其他是分别使用ip 192.168.3.102和192.168.3.104运行datanode和nodemanager的从站。

我可以运行start-hdfs.sh和start-yarn.sh而不会出现任何错误。 HDFS和YARN的网站运行良好,我可以在我的浏览器上访问这两个网站,看看两个奴隶的状态。

但是,当我尝试通过~/hadoop/share/hadoop/mapreduce'yarn jar hadoop-mapreduce-examples-2.5.2.jar pi 14 1000下运行mapreduce的示例时,该过程卡在INFO mapreduce.job: Running job: ...

纱线网站显示奴隶上有一个容器,接受申请状态。

当我看到jps'在奴隶上

20265 MRAppMaster
20351 Jps
19206 DataNode
20019 NodeManager

奴隶上的syslog文件:

INFO [main] org.apache.hadoop.yarn.client.RMProxy: Connecting to ResourceManager at /0.0.0.0:8030
INFO [main] org.apache.hadoop.ipc.Client: Retrying connect to server: 0.0.0.0/0.0.0.0:8030. Already tried 0 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS)
INFO [main] org.apache.hadoop.ipc.Client: Retrying connect to server: 0.0.0.0/0.0.0.0:8030. Already tried 1 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS)
...

似乎奴隶没有使用defalut RM ip地址而不是192.168.3.1上的真实地址

这是我在奴隶上的配置: 的纱-site.xml中

<property>
    <name>yarn.resourcemanager.hostname</name>
    <value>192.168.3.1</value>
</property> 
<property>
    <name>yarn.resourcemanager.address</name>
    <value>192.168.3.1:8032</value>
</property>  
<property>
    <name>yarn.resourcemanager.scheduler.address</name>
    <value>192.168.3.1:8030</value>
</property>

<property>
    <name>yarn.resourcemanager.resource-tracker.address</name>
    <value>192.168.3.1:8031</value>
</property>

<property>
    <name>yarn.resourcemanager.webapp.address</name>
    <value>192.168.3.1:8088</value>
</property>

<property>
    <name>yarn.resourcemanager.admin.address</name>
    <value>192.168.3.1:8033</value>
</property> 
<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>

HD​​FS-site.xml中

<configuration>

<property>
    <name>dfs.namenode.name.dir</name>
    <value>file:///home/hduser/hdfs/namenode</value>
    <description>NameNode directory for namespace and transaction logs storage</description>
</property>

<property>
    <name>dfs.replication</name>
    <value>1</value>
</property>

<property>
    <name>dfs.permissions</name>
    <value>false</value>
</property>

<property>
    <name>dfs.datanode.use.datanode.hostname</name>
    <value>false</value>
</property>

<property>
    <name>dfs.namenode.datanode.registration.ip-hostname-check</name>
    <value>false</value>
</property>
</configuration>

芯-site.xml中

<configuration>
<property>
    <name>fs.defaultFS</name>
    <value>hdfs://192.168.3.1:8020</value>
    <description>NameNode URI</description>
</property>
</configuration>

mapred-site.xml中

19 <configuration>
20 
21 <property>
22     <name>mapreduce.framework.name</name>
23     <value>yarn</value>
24     <description>Use YARN</description>
25 </property>

除了 yarn-site.xml

之外,master上的配置几乎相同
65 <property>
66     <name>yarn.nodemanager.aux-services</name>
67     <value>mapreduce_shuffle</value>
68 </property>
69 
70 <property>
71     <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
72     <value>org.apache.hadoop.mapred.ShuffleHandler</value>
73 </property>

我改变 yarn-env.sh export YARN_CONF_DIR="${YARN_CONF_DIR:-$HADOOP_YARN_HOME/etc/hadoop}"

我不会更改/ etc / hosts

有谁知道我该如何解决?感谢

如果需要其他信息,请告诉我。我会更新..

2 个答案:

答案 0 :(得分:0)

INFO [main] org.apache.hadoop.yarn.client.RMProxy: Connecting to ResourceManager at /0.0.0.0:8030
INFO [main] org.apache.hadoop.ipc.Client: Retrying connect to server: 0.0.0.0/0.0.0.0:8030. Already tried 0 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS)
INFO [main] org.apache.hadoop.ipc.Client: Retrying connect to server: 0.0.0.0/0.0.0.0:8030. Already tried 1 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS)
...

它试图连接到资源管理器。好像它没有运行。

检查资源管理器服务。

答案 1 :(得分:-1)

最后我自己发现了它。

我下载了新版本的Hadoop-2.6.0源代码,并在我自己的机器上构建。

配置与2.5.2版本相同,但它只是工作!

我认为这是从源代码开始而不是内置代码的更好方法。