首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在Oozie java操作中设置mapred.job.queue.name

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

Stack Overflow用户
提问于 2015-11-06 15:43:00
回答 1查看 4.9K关注 0票数 2

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

代码语言:javascript
复制
    <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"/>

但每次我运行Oozie作业时,我的作业抛出

代码语言:javascript
复制
     org.apache.hadoop.ipc.RemoteException(java.io.IOException): Queue "default" does not exist

我已经将队列配置为launcher,但是oozie就是不使用这个属性。

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

EN

回答 1

Stack Overflow用户

发布于 2015-11-06 18:14:27

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

设置这个应该可以解决你的问题:

代码语言:javascript
复制
<property>
       <name>oozie.launcher.mapred.job.queue.name</name>
       <value>launcher</value>
</property>

顺便说一句,使用mapreduce.job.queuenamemapred.job.queue.name已经被弃用了。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33561773

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档