李林超博客
首页
归档
留言
友链
动态
关于
归档
留言
友链
动态
关于
首页
大数据
正文
05.Azkaban失败重试配置与使用
Leefs
2022-04-23 PM
1399℃
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
标签云
高并发
GET和POST
LeetCode刷题
国产数据库改造
Golang基础
Quartz
线程池
DataX
JVM
Scala
递归
Eclipse
Map
Spark Streaming
MyBatisX
微服务
Docker
ajax
VUE
数据结构
数学
Livy
设计模式
算法
Elasticsearch
Spark Core
数据结构和算法
Spark SQL
Python
RSA加解密
友情链接
申请
范明明
庄严博客
Mx
陶小桃Blog
虫洞