Azkaban 如何创建一个工作流
前言:本文创建一个工作流的基本流程,这里采用flow2.0创建工作流,flow1.0后期官方不再维护
参考:
https://azkaban.readthedocs.io/en/latest/createFlows.html
https://azkaban.readthedocs.io/en/latest/useAzkaban.html
流程
1、创建文件flow20.project,添加如下内容,声明flow脚本以2.0形式编辑
azkaban-flow-version: 2.0
2、创建一个最基础单任务无任何依赖的工作流,工作流文件命名为basic.flow,内容如下
nodes:
- name: jobA
type: command
config:
command: echo "This is an echoed text."
3、创建一个存在依赖的工作流,工作流命名为basic.flow,内容如下
nodes:
- name: jobC
type: command
dependsOn:
- jobA
- jobB
config:
command: bash run.bash
- name: jobA
type: command
config:
command: echo "This is an jobA text."
- name: jobB
type: command
config:
command: echo "This is an jobB text.
备注:jobC依赖于jobA、jobB
4、flow20.project和basic.flow都创建好之后,需要压缩这两个文件及任务依赖的脚本文件(如3里边的jobC有有执行run.bash脚本,就需要把run.bash脚本一块儿压缩),最终生成压缩文件(这里注意直接压缩文件,不要放在文件夹里压缩文件夹)
5、登陆azkaban前端操作页面:https://XXXXX:8888 (端口号要根据设置走,一般会设置为8443,这里我先设置成8888,不影响)
6、新建一个project
7、把之前创建的工作流任务导入
8、执行工作流 Excute Flow,配置schedule
这里配置每30分钟执行一次(配置方式跟liunx的crontab基本相似)
9、这样一个简单的工作流就有了,可以在scheduling里看到已经部署执行的工作流
10、可以在History看到历史执行情况
这样一个简单的工作流就配置成功了!