Azkaban3.x的简单用法

一、它是啥?

一个轻量级的工作流调度系统

二、组成部分

1、azkaban-db:依赖Mysql,将一些工作流必备的数据表刷到Mysql中
2、azkaban-exec-server:执行任务的服务器
3、azkaban-web-server:配置或者上传任务的服务器(8081端口对应配置页面)

三、简单案例

1、创建 test.project 文件

azkaban-flow-version: 2.0

2、创建 test.flow 文件

# 1、与nodes平级,则全局重试3次
config:
      retries: 3
      retry.backoff: 3000
nodes:
  - name: jobC
    type: command
    # jobC 依赖 JobA 和 JobB
    dependsOn:
      - jobA
      - jobB
    config:
      command: echo "CCC"
      # 2、单个任务重试3次,每次间隔3s,如果全都失败,那么会一共执行4次
      retries: 3
      retry.backoff: 3000
    # all_success:全都成功(才执行这个jobC)
    # all_done:全部完成,失败也算完成
    # all_failed:全部失败
    # one_success:只要有一个成功
    # one_failed:只要有一个失败
    condition: all_done
     
  - name: jobA
    type: command
    config:
      # 如果是多个exec-server的,必须将jobA.sh分发到每个exec-server
      # 否则会因为执行这个任务的服务器可能没有jobA.sh文件,导致任务执行失败
      command: sh /home/yxguan/jobA.sh
   
  - name: jobB
    type: command
    dependsOn: 
      - jobA
    config:
      command: echo "BBB"
    # 采用el表达式,根据jobA写到 $JOB_OUTPUT_PROP_FILE 中的结果
    # 判定jobB是否执行
    condition: ${jobA:wk} == 1

3、创建 jobA.sh 文件

#!/bin/bash
echo "AAA"
wk=`date +%w`
# $JOB_OUTPUT_PROP_FILE 是一个固定的路径,而且写入的数据必须是json格式
echo "{\"wk\":$wk}" > $JOB_OUTPUT_PROP_FILE
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值