Oozie 操作在 fork join 中不是 运行

Oozie action not running in fork join

我正在尝试 运行 使用 oozie 中的 fork join 并行执行两个操作。这是我的工作流程:

<workflow-app xmlns="uri:oozie:workflow:0.1" name="hive-wf">
    <start to="forking"/>
    <fork name="forking">
        <path start="hive-node"/>
        <path start="hive-node2"/>
    </fork>
    <action name="hive-node">
        <hive xmlns="uri:oozie:hive-action:0.2">
           <job-tracker>Jobtracker</job-tracker>
            <name-node>namenode</name-node>
            <job-xml>hive-site.xml</job-xml>
            <configuration>
                <property>
                    <name>mapred.job.queue.name</name>
                    <value>default</value>
                </property>
            </configuration>
            <script>HiveForOozie.hql</script>
        </hive>
        <ok to="joining"/>
        <error to="fail"/>
    </action>
        <action name="hive-node2">
        <hive xmlns="uri:oozie:hive-action:0.2">
                <job-tracker>Jobtracker</job-tracker>
                <name-node>namenode</name-node>
                <job-xml>hive-site.xml</job-xml>
                <configuration>
                   <property>
                        <name>mapred.job.queue.name</name>
                        <value>default</value>
                   </property>
                </configuration>
                <script>Hive2.hql</script>
        </hive>
        <ok to="joining"/>
        <error to="fail"/>
     </action>
    <join name="joining" to="end"/>
     <kill name="fail">
        <message>Hive failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message>
    </kill>
    <end name="end"/>
</workflow-app>

第二个蜂巢动作被杀死是因为:- JA018 org/apache/zookeeper/KeeperException$NoNodeException

但是当我运行将此操作作为一项单独的工作进行时,它能够完成。

如有任何帮助,我们将不胜感激。

您能否尝试在您的两个查询中设置此 set hive.support.concurrency=false 并尝试。当您尝试从 oozie 获取 tables 上基于 Zookeeper 的锁时会发生此错误。 即使在设置此 属性 之后,Hive 作业也会 运行 并行,但 table 不会使用锁定功能。

请参阅此link了解更多详情。