Oozie动作没有在fork join中运行

时间:2016-03-17 05:30:33

标签: hive workflow action oozie 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 组织/阿帕奇/动物园管理员/ KeeperException $ NoNodeException

但是,当我将此行动作为个人工作时,它能够通过。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

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

请参阅此link了解详情。