我尝试使用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
但是,当我把这个行动作为一个单独的工作来执行时,它是能够通过的。
任何帮助都将不胜感激。
1条答案
按热度按时间nnvyjq4y1#
您可以尝试在两个查询中设置此集合hive.support.concurrency=false,然后重试。当您尝试从oozie获取基于zookeeper的表锁时,会发生此错误。即使设置了此属性,配置单元作业也将并行运行,但不会使用表锁定功能。
请参阅此链接了解更多详细信息。