Oozie无法在XML中检测Spark workflow-app标签

时间:2015-06-09 01:12:57

标签: hadoop apache-spark oozie

我正在尝试安排每天运行的Oozie工作。从shell,我正在使用这个命令 -

oozie job -oozie $OOZIE_URL -run -verbose \
    -config $PWD/this_file_is_a_formality.properties \
    -Doozie.coord.application.path="hdfs:///path/to/file/aggregates_workflow.xml" \
    -Dstart="$START" \
    -Dend="$END"

(假设所有环境变量都已正确设置。)

我收到了这个错误:

Error: E0701 : E0701: XML schema error, cvc-elt.1.a: Cannot find the declaration of element 'workflow-app'.

我相信Oozie正在解析我的工作流XML文件,但它无法正确识别文件中的有效XML。

aggregates_workflow.xml文件:

<workflow-app xmlns="uri:oozie:workflow:0.5" name='PREAGGREGATED'>
<global>
    <job-tracker>${jobTracker}</job-tracker>
    <name-node>${nameNode}</name-node>
    <configuration>
        <property>
        ...
        </property>
    </configuration>
</global>
<start to="spark-node"/>
<action name="spark-node">
    <spark xmlns="uri:oozie:spark-action:0.1">
        <job-tracker>yarnRM</job-tracker>
        <name-node>PREAGGREGATED</name-node>
        <configuration>
            <property> ...
            </property>
        </configuration>
        <master>yarn-client</master>
        <mode>client</mode>
        <name>${appName}</name>
        <class>${className}</class>
        <jar>${jarPath}</jar>
        <spark-opts>...0</spark-opts>
    </spark>
    <ok to="end"/>
    <error to="fail"/>
</action>

我很欣赏诊断 - 不知道为什么这不起作用?

1 个答案:

答案 0 :(得分:1)

真的很简单 -

oozie job -oozie $OOZIE_URL -run -verbose \
-config $PWD/this_file_is_a_formality.properties \
-Doozie.coord.application.path="hdfs:///path/to/file/aggregates_coordinator.xml" \
-Dstart="$START" \
-Dend="$END"

是正确的启动命令 - 第三行以前指向工作流程。