Oozie shell动作内存限制

时间:2014-06-17 11:43:35

标签: oozie yarn

我们有一个带有shell操作的oozie工作流,它需要的内存比Yarn默认提供的map任务要多。

我们怎样才能给它更多的记忆?

我们尝试将以下配置添加到操作中:

<configuration>
  <property>
    <name>mapreduce.map.memory.mb</name>
    <value>6144</value> <!-- for example -->
  </property>
</configuration>

我们都将其设置为内联(在workflow.xml中)配置和jobXml。 两者都没有任何影响。

2 个答案:

答案 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.xml文件,添加:

<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>