Как выполнить одно конкретное действие рабочего процесса в Oozie.Если я убил рабочий процесс Oozie вручную? - PullRequest
0 голосов
/ 30 января 2019

У меня ниже рабочий процесс Oozie. Предположим, я вручную убил задание, когда выполнялось действие «Do_task1», но все же я хочу выполнить действие «Do_task2», несмотря на то, что вручную убивал задание oozie (когда выполнялось действие «Do_task1»).Как я могу это сделать?

<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>

1 Ответ

0 голосов
/ 31 января 2019

После того, как рабочий процесс oozie будет уничтожен путем уничтожения первого действия, его нельзя будет перезапустить, если для этого свойства не установлено значение true в файле свойств.

oozie.wf.rerun.failnodes=true 

Если вы настроили это свойство, после выполнениякоманда:

oozie job -rerun jobId

Он перезапустит рабочий процесс из "Do_task1", ​​а не "Do_task2" со старыми свойствами.

Или другой способ выполнения толькоВторое действие: установите

 <start to = "Do_task2"/> 

и снова запустите рабочий процесс.

...