在YARN上运行Hadoop作业 - 杀死容器

时间:2016-02-01 08:57:06

标签: hadoop yarn ambari

我在YARN上运行Hadoop作业时遇到了问题,特别是在Ambari上。我是Hadoop的新手,已写过MR工作,但没有集群管理经验。

我正在尝试为一个小的输入文件(例如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.

似乎我应该改变堆限制。我不明白为如此小的工作需要多少堆?

使用Ambari默认设置安装YARN,因此我没有更改任何参数。这是一个包含4台计算机的小型集群,其中3台用作DataNodes / NodeManagers(并且具有此时未使用的RegionServers)。每个工作人员都有4GB RAM和4个核心。

具体问题是什么以及如何解决?

此外,我还要感谢任何可以帮助我了解如何设置和配置小型集群(例如最多10台机器)的参考资料。我指的是使用多少RAM和CPU。

1 个答案:

答案 0 :(得分:0)

在我看来,被杀的容器是AM,而不是工作。这将是应用程序管理器,换句话说就是在你的Yarn上运行的“map-reduce”应用程序。这意味着无论WordCount示例多么简单,它都不是违规容器。

您可以查看yarn.app.mapreduce.am.resource.mb的配置值吗? default为1.5GB,您的群集似乎配置为不允许容器超过256Mb。配置的yarn.nodemanager.resource.memory-mb是什么?

我不确定Ambari如何配置您的群集资源,但看起来您必须手动调整它。请遵循How to Plan and Configure YARN and MapReduce 2 in HDP 2.0Tuning the Cluster for MapReduce v2 (YARN)等指南。