如何/在哪里设置限制,以避免错误容器运行超出物理内存限制



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

我使用的是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 5中,您可以在以下位置修改这些YARN资源设置:

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

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

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

YARN / Configuration / CATEGORY / Resource Management:

地图任务内存:

mapreduce.map.memory.mb

减少任务内存:

mapreduce.reduce.memory.mb

相关内容

  • 没有找到相关文章

最新更新