【问题标题】:How/Where to set limits to avoid error container running beyond physical memory limits如何/在何处设置限制以避免错误容器超出物理内存限制
【发布时间】:2017-07-16 09:35:11
【问题描述】:

我知道这类问题已经在一些帖子中得到解决,但我找不到提供具体“如何”或“在哪里”的答案

我正在使用 CDH5.2,运行一个执行 shell 命令的 oozie 工作流。每次我运行它时,nodemanager 都会因错误而终止作业:

Container [pid=6757,containerID=container_1424206993158_0001_01_000002] is running beyond physical memory limits. Current usage: 1.0 GB of 1 GB physical memory used; 2.3 GB of 2.1 GB virtual memory used. Killing container

以下是我的配置文件中的相关属性。我显然错过了一些东西,所以我正在寻找这个设置必须具体存在的地方。

yarn-site.xml:

  <property>
    <name>yarn.scheduler.minimum-allocation-mb</name>
    <value>2048</value>
  </property>

  <property>
    <name>yarn.scheduler.maximum-allocation-mb</name>
    <value>8196</value>
  </property>

  <property>
    <name>yarn.nodemanager.resource.memory-mb</name>
    <value>8196</value>
  </property>

mapred-site.xml:

 <property>
    <name>mapreduce.map.memory.mb</name>
    <value>4096</value>
  </property>
  <property>
    <name>mapreduce.reduce.memory.mb</name>
    <value>8196</value>
  </property>
 <property>
    <name>mapreduce.map.java.opts</name>
    <value>-Xmx3072m</value>
  </property>
  <property>
    <name>mapreduce.reduce.java.opts</name>
    <value>-Xmx6144m</value>
  </property>

【问题讨论】:

  • 您在使用 Cloudera Manager 吗?
  • 没有 cloudera manager,只是手动编辑 /etc 下的配置。虽然如果你知道它在 CM 中的位置,我会检查 VM 并在那里尝试。
  • 在 CM 中,这些设置位于 YARN > Configuration > [Gateway |资源管理器 | NodeManager] > 资源管理。请记住在保存更改后重新启动服务并部署客户端配置(使用配置屏幕上的操作按钮)。
  • 谢谢,成功了。如果这意味着我可以设置必要的配置,我将承担 CM 的额外开销。如果您将此作为答案发布,我将接受并关闭它。
  • 您使用的是哪个操作系统?您是否尝试将 yarn.nodemanager.vmem-check-enabled 设置为 false ?

标签: hadoop hadoop-yarn cloudera-cdh


【解决方案1】:

在 Cloudera Manager 5 中,您可以在以下位置修改这些 YARN 资源设置:

YARN > Configuration > Gateway > Resource Management
YARN > Configuration > ResourceManager > Resource Management
YARN > Configuration > NodeManager > Resource Management

请记住在保存更改后重新启动服务并部署客户端配置(使用配置屏幕上的操作按钮)。

【讨论】:

  • Cloudera Manager 导致了一些问题(服务无法启动、停止等,因此在它之前回滚,有人将我指向 ozzie 作业属性,所以我将这些添加到它的 xml 中,也有效:oozie.launcher.mapreduce.map.memory.mb4096oozie.launcher.mapreduce.map。 java.opts-Xmx3072m
【解决方案2】:

我遇到了同样的问题并解决了它,增加了两个内存分配:

YARN / Configuration / CATEGORY / Resource Management:

映射任务内存:

mapreduce.map.memory.mb

减少任务内存:

mapreduce.reduce.memory.mb

【讨论】:

    猜你喜欢
    • 2018-11-01
    • 2018-03-30
    • 1970-01-01
    • 1970-01-01
    • 2022-12-15
    • 1970-01-01
    • 1970-01-01
    • 2018-04-10
    • 2018-04-20
    相关资源
    最近更新 更多