如何在OOZIE中处理shell脚本异常/错误?

时间:2016-08-06 14:10:52

标签: shell hadoop oozie cloudera-cdh oozie-coordinator

作为OOZIE批处理的一部分,即在我的工作流程中,我已经安排了一个shell操作,它包含多个shell命令来处理自定义形式的数据。

假设在处理时其中一个命令发生异常/错误,是否可以处理OOZIE端的异常/错误?

OR

在这种情况下我该如何处理?

我想在oozie方面处理。请帮助我。

先谢谢。 :)

我尝试下面的代码,但我收到错误。

<workflow-app name="My_Workflow" xmlns="uri:oozie:workflow:0.5">
<start to='shell1' />
<action name='shell1'>
    <shell xmlns="uri:oozie:shell-action:0.1">
        <job-tracker>${jobTracker}</job-tracker>
        <name-node>${nameNode}</name-node>
        <configuration>
            <property>
              <name>mapred.job.queue.name</name>
              <value>default</value>
            </property>
        </configuration>
        <exec>java</exec>
           <argument>${nameNode}/user/cloudera/shelltest.sh</argument>
           <file>${nameNode}/user/cloudera/shelltest.sh#shelltest.sh</file> 
           <capture-output/>
    </shell>

    <ok to="check-output"/>
    <error to="fail"/>
</action>


<decision name="check-output">
    <switch>
        <case to="1">
          ${wf:actionData("shell1")["error.on"]}
        </case>
        <default to="fail"/>
    </switch>
</decision>
<kill name="fail">
    <message>Script failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message>
</kill>
<end name='end' />

我的shelltest.sh

#!/bin/sh
cp /Volumes/Documents/criticalfile.txt /Volumes/BackUp/.
if [ "$?" != "0" ]; then
echo "[Error] copy failed!" 1>&2
exit 1
fi

当我正在运行oozie作业低于错误

Error: E0701 : E0701: XML schema error, cvc-pattern-valid: Value '1' is not facet-valid with respect to pattern '([a-zA-Z_]([\-_a-zA-Z0-9])*){1,39}' for type 'IDENTIFIER'

请让我知道我错过的任何事情。

0 个答案:

没有答案