gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 14:46:54 24 4
gpt4 key购买 nike

我有一个运行紧迫作业的应用程序。我正在尝试将 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"/>

但每次我运行 Oozie 作业时,我的作业都会抛出错误

     org.apache.hadoop.ipc.RemoteException(java.io.IOException): Queue "default" does not exist

我已将队列配置为启动器,但 oozie 不使用此属性。

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

最佳答案

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

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

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

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

关于java - 无法在 Oozie java 操作中设置 mapred.job.queue.name,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33561773/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com