hadoop 2.2.0从java.lang.thread.run(thread.java:744)的container



我是hadoop的新手,并尝试在32-cores&64GB MEM&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

有人可以帮我吗?预先感谢。

发现它是最大过程的数字限制为1024,我将其设置为13172,现在终于可以使用。如果您在单个Linux服务器上运行Hadoop并要使用它,请务必检查此设置。

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

btw,使用'ulimit -a'查看Linux中的限制

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

最新更新