初学Azkaban

azkanban

azkaban的使用场景

​ 用于任务的调度

azkaban的使用

​ 1.创建 .project文件:azkaban-flow-version:2.0

​ 2.创建 .flow文件

​ 3.压缩成 .zip文件,上传

.flow文件是yaml格式

​ 1.大小写敏感

​ 2.通过缩进来表达层次,严禁使用 \t

​ 3.属性名:后面跟一个空格

案例
#1.hello world
  	nodes:
		- name: job名称
		  type: command<job类型[command/javaprocess/flow]>
		  config:
		  	command: echo "..."/sh xx.sh
#2.作业依赖[dependsOn配置作业的依赖关系]
	nodes:
		- name: A
		  type: command
		  config:
		  	command: echo "A"
		- name: B
		  type: command
		  config: 
		  	command: echo "B"
		  dependsOn:
		  	- A
#3.内嵌工作流
	nodes:
		- name: A
		  type: flow #flow代表当前Job就是一个工作流
		  #config
		  #  command:echo "A" 当前不会打印,因为只有type为command才会执行命令
		  nodes:
		  	- name: B
		  	  type: command
		  	  config:
		  	  	command: echo "A.B"
全局配置

[ 开头通过config进行配置,后续可以通过${属性名}来引用 ]

config:

​	属性名1:属性值

​	属性名2:属性值

nodes: 
   - name: A
   	 type: command
   	 config:
   	 	command: echo "${属性名1} .."
自动重试

[ retries代表重试的次数,retry.backoff代表重试的时间间隔 ]

nodes:
	- name: A
	  type: command
	  config:
	  	command: echo "${属性名1} .."
	  	retries: 3
	  	retry.backoff: 5000 #毫秒
执行Java程序

type: javaprocess [代表执行Java程序]

java.class :[ 执行哪个Java类,类中必须要有main方法 ]

Xms: [ 代表启动时的内存容量大小 ]

Xmx: [代表执行时的内存的最大容量大小]

一般Xms 要与Xmx设置一致,防止内存的抖动

nodes:
	- name: A
	  type: javaprocess
	  config:
	  	java.class: com.atguigu.XXX
	  	Xmx: 1024M
	  	Xms: 1024M
条件工作流程

1.根据job的参数进行判断【在脚本中将json字符串写到azkaban内部的变量< J O B O U T P U T P R O P F I L E > 中 , 后 续 通 过 JOB_OUTPUT_PROP_FILE>中,后续通过 JOBOUTPUTPROPFILE>{Job名称:属性名}】再写入$JOB_OUTPUT_PROP_FILE变量的时候,要在脚本的最后一行写入

nodes:
	- name: A
	  type: command
	  config: 
	  	command: sh a.sh
	- name: B
	  type: command
	  config:
	  	command: echo "B"
	  condition: ${A:属性名} == "属性值"
#a.sh内容
#  #!/bin/bash
#  echo '{"属性名":"属性值"}' >> $JOB_OUTPUT_PROP_FILE
azkaban内部宏

all_done:依赖任务全部完成[ kill 、failed 、success …都代表完成 ]

all_success:依赖的任务必须全部failed

all_failed:依赖的任务必须要求其中一个failed

one_success:依赖的任务必须要求其中一个success

nodes:
  - name: A
  	type:command
  	config:
  		command: sh a.sh
  - name: C
  	type: command
  	config:
  		command: sh c.sh
  - name: B
  	type: command
  	config:
  		command: echo "B"
  	condition: ${A:属性名} == "属性值" && all_success
  	dependsOn:
  		- A
  		- C
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值