我们有一个带有shell操作的oozie工作流,它需要的内存比Yarn默认提供的map任务要多。
我们怎样才能给它更多的记忆?
我们尝试将以下配置添加到操作中:
<configuration>
<property>
<name>mapreduce.map.memory.mb</name>
<value>6144</value> <!-- for example -->
</property>
</configuration>
我们都将其设置为内联(在workflow.xml中)配置和jobXml。 两者都没有任何影响。
答案 0 :(得分:12)
我们找到了答案:
shell操作作为oozie“启动器”映射任务执行,此任务不使用常规配置属性。
相反,您必须使用“oozie.launcher”为属性添加前缀,以使它们适用于启动器任务。
所以在我们的例子中,如果我们对shell动作使用以下配置,它就可以工作。
<configuration>
<property>
<name>oozie.launcher.mapreduce.map.memory.mb</name>
<value>6144</value> <!-- for example -->
</property>
</configuration>
oozie文档中并不明显。 我们在这里找到了: http://downright-amazed.blogspot.com/2012/02/configure-oozies-launcher-job.html
答案 1 :(得分:0)
<workflow-app name="simple-ONE-wf" xmlns="uri:oozie:workflow:0.1">
<start to='ONE'/>`enter code here
<action name="ONE">
<spark xmlns="uri:oozie:spark-action:0.1">
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<configuration>
<property>
<name>oozie.launcher.mapreduce.map.memory.mb</name>
<value>4096</value>
</property>
<property>
<name>oozie.launcher.mapreduce.map.java.opts</name>
<value>-Xmx3200m</value>
</property>
<property>
<name>oozie.launcher.mapreduce.map.java.opts</name>
<value>-XX:MaxPermSize=1g</value>
</property>
...
</configuration>
...
</action>
<kill name='kill'>
<message>Something went wrong: ${wf:errorCode('firstdemo')}</message>
</kill>
<end name='end'/>
</workflow-app>