oozie操作未在fork join中运行

bihw5rsg  于 2021-06-26  发布在  Hive
关注(0)|答案(1)|浏览(381)

我尝试使用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
但是,当我把这个行动作为一个单独的工作来执行时,它是能够通过的。
任何帮助都将不胜感激。

nnvyjq4y

nnvyjq4y1#

您可以尝试在两个查询中设置此集合hive.support.concurrency=false,然后重试。当您尝试从oozie获取基于zookeeper的表锁时,会发生此错误。即使设置了此属性,配置单元作业也将并行运行,但不会使用表锁定功能。
请参阅此链接了解更多详细信息。

相关问题