我是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
设置为错误的值。