在杀纱容器上运行hadoop作业

ibrsph3r  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(408)

我在运行yarn上的hadoop作业时遇到了问题,具体来说是在ambari上。我是hadoop新手,写过jobs先生的书,但没有集群管理方面的经验。
我尝试为一个小的输入文件(如1.4mb)运行wordcount示例,大多数情况下会出现如下异常:

Application application_1453983463294_0005 failed 2 times due to AM Container for appattempt_1453983463294_0005_000002 exited with exitCode: -104
For more detailed output, check application tracking page:http://hdp-master.nissatech.local:8088/cluster/app/application_1453983463294_0005Then, click on links to logs of each attempt.
Diagnostics: Container [pid=23429,containerID=container_1453983463294_0005_02_000001] is running beyond physical memory limits. Current usage: 264.6 MB of 256 MB physical memory used; 1.9 GB of 537.6 MB virtual memory used. Killing container.

看来我应该改变堆的限制。我不明白这么小的工作怎么可能需要这么多的堆呢?
yarn是使用ambari默认设置安装的,所以我没有更改任何参数。这是一个有4台机器的小型集群,其中3台用作datanodes/nodemanager(并且有目前未使用的regionserver)。每个工人有4gb的ram和4个核心。
具体问题是什么,如何解决?
此外,如果有任何参考资料可以帮助我了解如何设置和配置一个小型集群(例如最多10台机器),我将不胜感激。我的意思是要使用多少ram和cpu。

z0qdvdin

z0qdvdin1#

在我看来,被杀死的集装箱是am,不是工作。这将是应用程序管理器,换句话说,“Map减少”应用程序运行在您的Yarn。这意味着无论wordcount示例多么简单,它都不是有问题的容器。
你能检查一下配置值吗 yarn.app.mapreduce.am.resource.mb ? 默认值为1.5gb,并且您的集群似乎配置为不允许容器超过256mb。配置了什么 yarn.nodemanager.resource.memory-mb ?
我不确定ambari是如何配置集群资源的,但是看起来您必须手动调整它。遵循指南,如如何规划和配置hdp2.0中的yarn和mapreduce2,或为mapreducev2(yarn)调优集群。

相关问题