今天提交Oozie Hive作业,workflow内容如下:
<workflow-app xmlns="uri:oozie:workflow:0.5" name="model-QFwk">
<parameters>
<property>
<name>table1name</name>
<value>testtable1</value>
</property>
<property>
<name>storepath</name>
<value>/tmp/wzr</value>
</property>
<property>
<name>table2name</name>
<value>testtable2</value>
</property>
</parameters>
<start to="hive-node-k6dW"/>
<kill name="fail-EkkK">
<message>Action node [${wf:lastErrorNode()}] failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message>
</kill>
<action name="hive-node-k6dW">
<hive xmlns="uri:oozie:hive-action:0.6">
<job-tracker>datanode1:8032</job-tracker>
<name-node>hdfs://datanode1:8020</name-node>
<job-xml>/user/cdhfive/hive-conf.xml</job-xml>
<script>hive_join.hql</script>
<argument>-hivevar</argument>
<argument>storePath=${storepath}</argument>
<argument>-hivevar</argument>
<argument>table1Name=${table1name}</argument>
<argument>-hivevar</argument>
<argument>table2Name=${table2name}</argument>
</hive>
<ok to="end"/>
<error to="fail-EkkK"/>
</action>
<end name="end"/>
</workflow-app>
使用 Hue 提交作业时提示:
提交作业 /user/cdhfive/569204f2a0be4529abeccd1d90351410/19acce29c7424589b435e7209e1a8ccf/main/workflow.xml 时出错 E0701: XML schema error, cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element 'hive'.
搜索下 “but no declaration can be found for element”,XML Schema冲突
根据 http://archive.cloudera.com/cdh5/cdh/5/oozie/WorkflowFunctionalSpec.html#Appendix_A_Oozie_XML-Schema
CDH5.4.5 上 Oozie4.1.0 的workflow XML Schema版本最高为 uri:oozie:workflow:0.5
根据 http://archive.cloudera.com/cdh5/cdh/5/oozie/DG_HiveActionExtension.html
其所支持的 Hive action XML Schema版本为 uri:oozie:hive-action:0.6
初步判定应该是版本冲突。