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



我在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.

看来我应该改变堆限制。我不明白这么小的工作怎么可能需要这么多的堆?

YARN 是使用 Ambari 默认设置安装的,所以我没有更改任何参数。这是一个包含 4 台机器的小集群,其中 3 台用作 DataNodes/NodeManager(并且具有目前未使用的区域服务器(。每个工作线程都有 4GB 的 RAM 和 4 个内核。

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

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

在我看来

,被杀死的容器是AM,而不是工作。那就是应用程序管理器,换句话说,在你的Yarn上运行的"map-reduce"应用程序。这意味着无论字数示例多么简单,它都不是有问题的容器。

你能检查yarn.app.mapreduce.am.resource.mb的配置值吗?默认值为 1.5GB,您的集群似乎配置为不允许超过 256MB 的容器。配置的yarn.nodemanager.resource.memory-mb是什么?

我不确定 Ambari 如何配置您的集群资源,但看起来您必须手动调整它。遵循有关如何在HDP 2.0中规划和配置YARN和MapReduce 2或针对MapReduce v2(YARN(调整集群等指南。

相关内容

  • 没有找到相关文章