如何将oozie工作流操作的状态标记为ok

2uluyalo  于 2021-05-27  发布在  Hadoop
关注(0)|答案(1)|浏览(523)

我用的是apacheoozie。我想在我的oozie工作流中将一个shell操作的状态标记为ok。它处于运行状态。
我们可以共享在apacheoozie中使用的命令吗。

x6h2sr28

x6h2sr281#

不需要显式设置操作的状态。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操作的更多信息。

相关问题