目录
作业依赖案例
需求:jobA和jobB执行完了,才能执行jobC。
流程和hello world案例一样
Azkaban(一):入门-安装及案例_一个人的牛牛的博客-CSDN博客
1.创建azkaban.project文件(文件名不重要,后缀一定要是project·),内容如下:
azkaban-flow-version: 2.0
2.创建second.flow文件(文件名不重要,后缀一定要是flow),内容如下:
nodes:
- name: jobC
type: command
# jobC依赖jobB和jobA
dependsOn:
- jobA
- jobB
config:
command: echo "this is C"
- name: jobA
type: command
config:
command: echo "this is A"
- name: jobB
type: command
config:
command: echo "this is B"
注:azkaban.project和second.flow保存时注意类型要选择为All type (*.*)。
3.将azkaban.project和second.flow压缩,以zip格式压缩,文件名一定要是英文
4.web server操作
(1)创建project
(2)上传压缩的文件
(3)执行
(4)执行结果
依赖案例完成!!!
自动失败重试案例
需求:如果执行任务失败,需要重试3次,重试的时间间隔10000ms
1.创建third.flow文件(文件名不重要,后缀一定要是flow),内容如下:
注:保存时注意类型要选择为All type (*.*)。
nodes:
- name: jobA
type: command
config:
command: sh /no.sh
retries: 3
retry.backoff: 10000
解释:
retries:重试次数;
retry:重试的时间和间隔;
sh /no.sh:执行no.sh文件;
注:azkaban.project和third.flow保存时注意类型要选择为All type (*.*)。
2.将azkaban.project和third.flow压缩,以zip格式压缩,文件名一定要是英文
3.web server操作
参照上一个案例
4.执行结果
正在执行中:
执行完成结果:
没有no.sh文件,所以会报错。
失败自动重试案例完成!!!!!
注:如果在flow全局配置中添加任务失败重试配置,重试配置会应用到所有job。
例:
config:
retries: 3
retry.backoff: 10000
nodes:
- name: JobA
type: command
config:
command: sh /no.sh
手动调节job是否执行案例
需求:jobA——>jobB——>jobC——>jobD。生产环境中任何job都有可能挂掉,可以根据需求执行想要执行的job。
1.创建four.flow文件(文件名不重要,后缀一定要是flow),内容如下:
nodes:
- name: jobA
type: command
config:
command: echo "this is A"
- name: jobB
type: command
dependsOn:
- jobA
config:
command: echo "this is B"
- name: jobC
type: command
dependsOn:
- jobB
config:
command: echo "this is C"
- name: jobD
type: command
dependsOn:
- jobC
config:
command: echo "this is D"
注:azkaban.project和four.flow保存时注意类型要选择为All type (*.*)。
2.将azkaban.project和four.flow压缩,以zip格式压缩,文件名一定要是英文
3.web server操作
参照上面案例
(1)设置不运行的job
解释:
Enable和Disable下面都分别有如下参数:
Parents:该作业的上一个任务;
Ancestors:该作业前的所有任务;
Children:该作业后的下一个任务;
Descendents:该作业后的所有任务;
Enable All:所有的任务;
(2)执行
(3) 执行结果
手动调节job是否执行案例完成!!!!