oozie調度中的重試和手工rerun一個workflow


在oozie中有Bundle、Coordinator和Workflow三種類型的job,他們之間可以有以下包含關系。

Bundle > Coordinator > Workflow。

1. 重新運行一個Coordinator job,可以通過如下命令:

oozie job -rerun 0000034-180116183039102-oozie-hado-C -refresh -action 1-4
0000034-180116183039102-oozie-hado-C 表示coordinator的job id
-action 表示包含的action對應的序號的1-4,即重新運行歷史的4次job。

 

2. 如果只想重新運行一個workflow job,可以通過如下命令:

oozie job -rerun 0000411-180116183039102-oozie-hado-W -config rerun_workflow.xml
或者通過-D 參數直接設置 (上面rerun_workflow.xml中內容也是oozie.wf.rerun.failnodes=false的xml形式而已)
oozie job -rerun 0000411-180116183039102-oozie-hado-W -D oozie.wf.rerun.failnodes=false

否則會報錯如下:

Error: E0401 : E0401: Missing configuration property [oozie.wf.rerun.skip.nodes OR oozie.wf.rerun.failnodes]

oozie.wf.rerun.failnodes 參數含義:true指在失敗的節點重新運行,false指不在失敗的節點運行
oozie.wf.rerun.skip.nodes 指定跳過哪些節點運行

 

注意: 使用rerun重新運行workflow的job時,在coordinator中配置的參數會失效,因此通常是rerun一個coordinator程序。

 

另外在worfkflow程序中,也可以按照如下配置來自動重試:

retry-max: 表示重試次數,如果該配置大於系統的配置最大重試次數,則取系統配置的最大次數

retry-interval: 重試時間間隔,3分鍾。 

總體可以解釋為:每3分鍾重試一次,一共重試5次。

    <!-- 統計day: dm_guba_loginlog -->
    <action name="hive-node"  retry-max="5" retry-interval="3">
        <hive xmlns="uri:oozie:hive-action:0.2">
            <job-tracker>${jobTracker}</job-tracker>
            <name-node>${nameNode}</name-node>
            <job-xml>${hive_site_path}</job-xml>
            <configuration>
                <property>
                    <name>mapred.job.queue.name</name>
                    <value>${queueName}</value>
                </property>
            </configuration>
            <script>script.q</script>
            <param>tmp_table=tmp_dm_guba_loginlog_day</param>
            <param>params_dt=${params_dt}</param>
        </hive>
        <ok to="java-node"/>
        <error to="senderror"/>
    </action>

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM