Oozie动作没有运行在fork加入

Oozie动作没有运行在fork加入

问题描述:

我想在oozie中使用fork连接并行运行两个动作。这是我的工作流程:Oozie动作没有运行在fork加入

<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

但是,当我运行这个动作作为一个单独的工作它能够通过。

任何帮助,将不胜感激。

+0

您可以尝试在两个查询中设置此设置hive.support.concurrency = false并尝试。当您尝试控制基于Zookeeper的oozie表锁定时,会发生此错误。 – donut

+0

你正在谈论属性文件或hql文件? –

+0

你的两个hql文件。 – donut

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

欲了解更多详情,请参阅此link