zoukankan      html  css  js  c++  java
  • 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>

  • 相关阅读:
    Spring AOP入门基础-继承、装饰者,代理的选择
    Java Ajax入门
    Servlet Config和Context入门
    MapReduce的Shuffle理解
    Servlet Response常用方法
    Servlet Request常用方法
    HDFS中block设置128M的原因
    【Java】java获取json中某个字段
    【Java】字符串转json
    【Linux】shell脚本参数传递
  • 原文地址:https://www.cnblogs.com/30go/p/8391328.html
Copyright © 2011-2022 走看看