无法在Oozie java操作中设置mapred.job.queue.name

无法在Oozie java操作中设置mapred.job.queue.name,java,hadoop,oozie,oozie-coordinator,apache-crunch,Java,Hadoop,Oozie,Oozie Coordinator,Apache Crunch,我有一个运行crunch作业的应用程序。我正在尝试配置Oozie以使用java操作运行此作业。我的行动如下: <workflow-app name="Wworkflow" xmlns="uri:oozie:workflow:0.4"> <start to="TestWw"/> <action name="TestWw"> <java> <job-tracker>${jobTracker}</job-

我有一个运行crunch作业的应用程序。我正在尝试配置Oozie以使用java操作运行此作业。我的行动如下:

    <workflow-app name="Wworkflow" xmlns="uri:oozie:workflow:0.4">
<start to="TestWw"/>
<action name="TestWw">
    <java>
        <job-tracker>${jobTracker}</job-tracker>
        <name-node>${nameNode}</name-node>
        <configuration>
            <property>
                <name>mapred.job.queue.name</name>
                <value>launcher</value>
            </property>
        </configuration>
        <main-class>com.test.Main</main-class>
        <java-opts>-Dmapred.output.compress=false -Dmapred.textoutputformat.separator=, -Dcrunch.disable.output.counters=true</java-opts>

    </java>
    <ok to="end"/>
    <error to="kill"/>
</action>
<kill name="kill">
    <message>Action failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message>
</kill>
<end name="end"/>
我已经将队列配置为launcher,但是oozie没有使用这个属性


请注意,我正在运行crunch作业,这些作业只是内部map reduce作业。

当Oozie操作启动时,它会在Thread中创建一个启动程序应用程序,然后启动作业本身。启动器可以在与操作本身不同的队列中运行,启动器运行的队列实际上是用
oozie.launcher.mapred.job.queue.name
设置的。我怀疑正在发生的事情是,您的启动器试图在
默认值下运行,因此Crunch作业本身实际上从未启动

设置此选项可以解决您的问题:

<property>
       <name>oozie.launcher.mapred.job.queue.name</name>
       <value>launcher</value>
</property>

oozie.launcher.mapred.job.queue.name
发射装置

顺便说一句,
mapred.job.queue.name
已经被弃用了-使用
mapreduce.job.queuename

这很令人惊讶-这确实应该有效。我想你也会犯同样的错误吧?我以前从未删除过
默认值
队列,但如果您设置了上述属性,这应该无关紧要。是的,我得到的错误与以前相同。队列“默认”不存在
<property>
       <name>oozie.launcher.mapred.job.queue.name</name>
       <value>launcher</value>
</property>