我正在使用Java动作处理Oozie。 Java操作应该使用Java选项-Xmx15g。因此,我将属性oozie.mapreduce.map.memory.mb设置为25600(25G),以防需要一些额外的内存。
在这个简单的设置之后,我运行了Oozie作业,然后在Java运行时期间出现了OutofMemory(堆空间不足)错误。
因此,我根据链接http://downright-amazed.blogspot.fi/2012/02/configure-oozies-launcher-job.html在Java操作的属性节点中将oozie.launcher.mapred.child.java.opts设置为-Xmx15g。但我仍然得到相同的OutofMemory错误。然后我尝试将-Xmx15g添加到Java操作节点内的节点java-opts。这很好,但如果是这样,地狱还有属性oozie.launcher.mapred.child.java.opts?
任何人都知道为什么会这样?请给出一些评论,说明为什么会这样。提前谢谢。
我真的觉得Oozie不是一个方便的工具。
答案 0 :(得分:1)
我不确定"任务"在mapred.child.java.opts
请尝试使用mapreduce.map.java.opts
,如下例所示:
<configuration>
<property>
<name>oozie.launcher.mapreduce.map.memory.mb</name>
<value>16384</value>
</property>
<property>
<name>oozie.launcher.mapreduce.map.java.opts</name>
<value>-Xmx15g</value>
</property>
<property>
<name>oozie.launcher.yarn.app.mapreduce.am.resource.mb</name>
<value>768</value>
</property>
<property>
<name>oozie.launcher.yarn.app.mapreduce.am.command-opts</name>
<value>-Xmx512m</value>
</property>
<property>
<name>oozie.launcher.mapred.job.queue.name</name>
<value>default</value>
</property>
</configuration>