如何将Oozie工作流程操作的状态标记为OK

时间:2020-10-06 20:28:43

标签: hadoop workflow oozie oozie-coordinator oozie-workflow

我正在使用Apache oozie。我想在我的oozie工作流程中将其中一个shell操作的状态标记为OK。它处于运行状态。

我们可以分享在Apache Oozie中使用的命令吗?

1 个答案:

答案 0 :(得分:0)

您不需要显式设置操作的状态。 Oozie会根据操作/任务执行情况自动为您执行此操作。例如,假设您有一个看起来像这样的shell动作:

<workflow-app
    xmlns="uri:oozie:workflow:0.3" name="shell-wf">
    <start to="shell-node"/>
    <action name="shell-node">
        <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>${queueName}</value>
                </property>
            </configuration>
            <exec>some-script.sh</exec>
            <file>/user/src/some-script.sh</file>
        </shell>
        <ok to="end"/>
        <error to="fail"/>
    </action>
    <kill name="fail">
        <message>Shell action failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message>
    </kill>
    <end name="end"/>
</workflow-app>

如果/user/src/some-script.sh执行成功,Oozie将动作状态标记为ok并成功结束作业。另一方面,如果脚本执行遇到任何错误,则会将其标记为error,立即杀死该作业并进行定向。如果您希望不因脚本中代码的任何异常执行而终止工作,则可以创建另一个动作并指示Oozie遵循该执行路径,而不是立即终止工作流程。进一步了解Oozie Shell Action