hadoop 2.2.0 java.lang.Thread.run中的容器启动异常(Thread.java:744)

时间:2014-01-24 01:16:47

标签: hadoop configuration

我是Hadoop的新手,并尝试在具有32核心的服务器上设置hadoop 2.2.0。 64GB内存和8个磁盘,当我调整文件'yarn-site.xml'时,我发现当我添加

<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>40960</value>
</property>

到'yarn-site.xml'并运行:

hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar pi 10 5

我收到错误:

14/01/23 19:42:55 INFO mapreduce.Job: Task Id : attempt_1390524052844_0002_m_000002_0, Status : FAILED
Exception from container-launch:
org.apache.hadoop.util.Shell$ExitCodeException:
at org.apache.hadoop.util.Shell.runCommand(Shell.java:464)
...
at java.lang.Thread.run(Thread.java:744)

但是无论如何都要完成任务,但如果我跑了

hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar pi 20 5

会有很多这样的错误,任务会停在那里,永远不会完成。

但是如果我从'yarn-site.xml'中删除该属性,那么每件事都可以正常工作。但是我需要设置这个属性,因为默认值是8192MB,我想充分利用mem。

任何人都可以帮助我吗?提前谢谢。

2 个答案:

答案 0 :(得分:0)

发现它是最大进程数限制为1024,我将其设置为13172,它现在终于有效了。如果您在单个Linux服务器上运行hadoop并想使用它,请务必检查此设置。

对此感到困扰一个星期,希望这篇文章可以帮助别人。

BTW,使用'ulimit -a'来查看linux中的限制

答案 1 :(得分:0)

我也遇到过这个错误,但是通过检查$HADOOP_HOME/etc/hadoop/mapred-site.xml解决了这个错误。最后我发现mapreduce.jobhistory.webapp.address被设置为错误值。