在java.lang.thread.run(线程java:744)

vngu2lb8  于 2021-06-03  发布在  Hadoop
关注(0)|答案(2)|浏览(362)

我是hadoop新手,尝试在一台拥有32核、64gb内存和8个磁盘的服务器上设置Hadoop2.2.0,而我在使用“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,我想充分利用内存。
有人能帮我吗?提前谢谢。

cdmah0mi

cdmah0mi1#

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

ltqd579y

ltqd579y2#

发现它是最大进程数限制为1024,我把它设置为13172,它终于工作了。如果您在一台linux服务器上运行hadoop并希望使用它,请确保检查此设置。
被这个困扰了一个星期,希望这个帖子能帮助别人。
顺便说一句,使用ulimit-a可以查看linux中的限制

相关问题