简体   繁体   English

如何在 Oozie 中执行一项特定的工作流操作。 如果我手动杀死 Oozie 工作流程?

[英]How to execute one particular workflow action in Oozie. If I killed Oozie workflow manually?

I have below Oozie workflow,Suppose manually I killed the job when action "Do_task1" was executing, but still I want to execute action "Do_task2" in spite of killing oozie job manually(when action "Do_task1" was running).我有以下 Oozie 工作流程,假设我在执行“Do_task1”操作时手动终止了该作业,但尽管手动终止了 oozie 作业(当操作“Do_task1”正在运行时),我仍然想执行操作“Do_task2”。 How can I do that?我怎样才能做到这一点?

<workflow-app name="simple-Workflow"
    xmlns="uri:oozie:workflow:0.4">
    <start to = "Do_task1" />
    <!—Step 1 -->
    <action name = "Do_task1">
        <hive xmlns = "uri:oozie:hive-action:0.4">
            <job-tracker>xyz.com:8088</job-tracker>
            <name-node>hdfs://rootname</name-node>
            <script>hdfs_path_of_script/external.hive</script>
        </hive>
        <ok to = "Do_task2" />
        <error to = "kill_job" />
    </action>
    <!—Step 2 -->
    <action name = "Do_task2">
        <hive xmlns = "uri:oozie:hive-action:0.4">
            <job-tracker>xyz.com:8088</job-tracker>
            <name-node>hdfs://rootname</name-node>
            <script>hdfs_path_of_script/orc.hive</script>
        </hive>
        <ok to = "end" />
        <error to = "kill_job" />
    </action>
    <kill name = "kill_job">
        <message>Job failed</message>
    </kill>
    <end name = "end" />
</workflow-app>

Once the oozie workflow is killed by killing the first action, it can not be restarted unless this property is set to true in the properties file.一旦 oozie 工作流通过杀死第一个动作而被杀死,除非在属性文件中将此属性设置为 true,否则无法重新启动它。

oozie.wf.rerun.failnodes=true 

If you have configured this property , after executing the command:如果你已经配置了这个属性,执行命令后:

oozie job -rerun jobId oozie job -rerun jobId

It will restart the workflow from "Do_task1" and not "Do_task2" with old properties.它将从具有旧属性的“Do_task1”而不是“Do_task2”重新启动工作流。

Or another way to execute only the second action is : set或者另一种只执行第二个动作的方法是:设置

 <start to = "Do_task2"/> 

and run the workflow again.并再次运行工作流。

您可以触发特定的 oozie 操作。

oozie job -oozie http://localhost:8080/oozie -rerun <FailedOrKilledWorkflowId> -action <actionName or actionId>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM