我知道这类问题已经在一些帖子中得到了解决,但我找不到提供具体"如何"或"在哪里"的答案
我使用的是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