李林超博客
首页
归档
留言
友链
动态
关于
归档
留言
友链
动态
关于
首页
大数据
正文
05.Azkaban失败重试配置与使用
Leefs
2022-04-23 PM
1988℃
0条
[TOC] ### 一、简介 Azkaban失败重试分为两种:自动失败重试和手动失败重试。 **作用** + **自动失败重试**:当任务第一次执行失败后,可以根据特定时间间隔来进行自动重新执行。 + **手动失败重试**:当任务经历过自动失败重试,在某个节点依旧执行失败,排查修复完问题,继续执行任务时,可以跳过执行成功的工作单元,从上次失败的工作单元向下执行。 **场景** + **自动失败重试** 由于暂时网络波动导致的超时、暂时资源不足导致的超时等原因产生的暂时性故障导致的任务失败。 + **手动失败重试** 由于服务器宕机、任务配置出错等原因无法通过自动失败重试解决的问题,当问题修复完之后,需要手动失败重试继续执行任务。 ### 二、自动失败重试案例 > 需求:如果执行任务失败,需要重试 3 次,重试的时间间隔 10000ms #### 具体步骤 **(1)编译配置流** + **新建demo.flow文件** ```yaml nodes: - name: JobA type: command config: command: sh /not_exists.sh retries: 3 retry.backoff: 10000 ``` command的配置信息是执行根目录下的**not_exists.sh**文件。 **参数说明**: + **retries**:重试次数 + **retry.backoff**:重试的时间间隔(单位:毫秒) **(2)将demo.project和demo.flow文件打成zip包** ![05.Azkaban失败重试配置与使用01.jpg](https://lilinchao.com/usr/uploads/2022/04/3022747492.jpg) **(3)通过Azkaban WEB界面上传到服务器上执行** ![05.Azkaban失败重试配置与使用02.jpg](https://lilinchao.com/usr/uploads/2022/04/608659345.jpg) **(4)执行并观察到一次失败+三次重试** ![05.Azkaban失败重试配置与使用03.jpg](https://lilinchao.com/usr/uploads/2022/04/4130521069.jpg) **(5)可以在 Flow 全局配置中添加任务失败重试配置** + 此时重试配置会应用到所有 Job ```yaml config: retries: 3 retry.backoff: 10000 nodes: - name: JobA type: command config: command: sh /not_exists.sh ``` ### 三、手动失败重试案例 > 需求:JobA=>JobB(依赖于 A)=>JobC=>JobD=>JobE=>JobF。生产环境,任何 Job 都 > 有可能挂掉,可以根据需求执行想要执行的 Job。 #### 具体步骤 **(1)编译配置流** + **新建basis.flow文件** ```yaml nodes: - name: JobA type: command config: command: echo "This is JobA." - name: JobB type: command dependsOn: - JobA config: command: echo "This is JobB." - name: JobC type: command dependsOn: - JobB config: command: echo "This is JobC." - name: JobD type: command dependsOn: - JobC config: command: echo "This is JobD." - name: JobE type: command dependsOn: - JobD config: command: echo "This is JobE." - name: JobF type: command dependsOn: - JobE config: command: echo "This is JobF." ``` **(2)将basis.project和basis.flow文件打成zip包** ![05.Azkaban失败重试配置与使用04.jpg](https://lilinchao.com/usr/uploads/2022/04/75922335.jpg) **(3)通过Azkaban WEB界面上传到服务器上执行** ![05.Azkaban失败重试配置与使用05.jpg](https://lilinchao.com/usr/uploads/2022/04/1755113551.jpg) **(4)当某个任务失败时,点击Prepare Execution按钮** ![05.Azkaban失败重试配置与使用06.jpg](https://lilinchao.com/usr/uploads/2022/04/2646194074.jpg) **(5)选择执行错误的节点,进行设置** ![05.Azkaban失败重试配置与使用07.jpg](https://lilinchao.com/usr/uploads/2022/04/2233209984.jpg) **说明** **Enable 和 Disable 下面都分别有如下参数:** + **Parents**:该作业的上一个任务 + **Ancestors**:该作业前的所有任务 + **Children**:该作业后的一个任务 + **Descendents**:该作业后的所有任务 + **Enable All**:所有的任务 设置完成后点击Execute执行任务。
标签:
Azkaban
非特殊说明,本博所有文章均为博主原创。
如若转载,请注明出处:
https://lilinchao.com/archives/2000.html
上一篇
【转载】04.Azkaban Flow 2.0的使用
下一篇
06.Azkaban之JavaProcess任务类型
评论已关闭
栏目分类
随笔
2
Java
326
大数据
229
工具
31
其它
25
GO
47
NLP
4
标签云
BurpSuite
Hbase
Spark
Spark SQL
并发线程
Elastisearch
Java
设计模式
并发编程
gorm
SpringCloud
Filter
Beego
字符串
机器学习
Java工具类
Quartz
SpringCloudAlibaba
Golang
NIO
JavaScript
Jquery
Tomcat
序列化和反序列化
数据结构和算法
Yarn
Golang基础
Kafka
栈
Livy
友情链接
申请
范明明
庄严博客
Mx
陶小桃Blog
虫洞
评论已关闭