-
系统内置Job common参数
参数名 作用 retries job失败以后的重试次数 retry.backoff 每次重试前的等待毫秒数 working.dir job的工作目录,默认是.job文件所在目录(不建议配置) env.property 设置job进程的环境变量 failure.emails job失败报警邮箱 success.emails job成功报警邮箱 notify.emails job成功或失败报警邮箱 -
系统内置Job运行时参数
参数名 作用 azkaban.job.attempt job失败以后的重试次数 azkaban.job.id job名字 azkaban.flow.flowid flow名字 azkaban.flow.execid flow的执行id azkaban.flow.projectid project名字 azkaban.flow.projectversion project版本 azkaban.flow.uuid job成功或者警报邮箱 azkaban.flow.start.timestamp flow开始执行的时间戳 azkaban.flow.start.year flow开始执行的年 azkaban.flow.start.month flow开始执行的月 azkaban.flow.start.day flow开始执行的日 azkaban.flow.start.hour flow开始执行的小时 azkaban.flow.start.minute flow开始执行的分钟 azkaban.flow.start.second flow开始执行的秒 azkaban.flow.start.millseconds flow开始执行的毫秒 azkaban.flow.start.timezone flow开始执行的时区 -
自定义的参数
-
可以继承同一级/上一级的.properties文件配置的参数
-
对于同一级别的.properties文件按照目录遍历子文件顺序确定优先级别(从低到高)
-
对于出现在多个文件中的参数,取优先级最高值。
system.properties文件中配置了:
ant_home=/home/hadoop/ant
mvn_home=/home/hadoop/mvn
baz.job就可以继承ant_home和mvn_home的值。
myflow.properties文件中配置了:
ant_home=/home/azkaban/ant
加入foo.job是自定义的job,它会继承自myflow.properties和system.properties,它的ant_home最终值就是/home/azkaban/ant
-
参数值中的 ${keyx} 通配符,可以替换成keyx参数对应的值
-
通配符可以嵌套使用
# myjob.job
param1=just prarm1
id=${azkaban.flow.execid}_${azkaban.flow.start.timestamp}
param2=${param1}
#最终的效果是,param2参数的值等于param1参数的值,而id参数是具体flow实例执行的时间戳,例如1234_15292952285123
-
job最终执行参数list,会在working.dir中写入一个jobname_props_随机数_tmp的文件
-
job执行前的参数可以继承上游job的执行输出的参数list
-
如果一个job执行完需要输出参数list,可以输出到jobname_output_随机数_tmp文件
-
如果一个job需要完成输出参数,需要实现相应的方法:getJobGeneratedProperties
-
Notification Options 通知设置,包括成功和失败
参数名 作用 First Failure flow由于某个job失败已经可以判断flow最终失败的时候立即触发通知 Flow Finished 发现某个job失败,但是等到正在运行的job做完再触发通知 -
Failure Options
参数名 作用 Finish Current Running 由于job失败导致flow失败的时候,等待当前其他正在运行的job做完 Cancel AI 由于job失败导致flow失败的时候,杀掉当前其他正在运行的job Finish All Possible 由于job失败导致flow失败的时候,尝试将可以执行的job全部执行 -
Concurrent Options
参数名 作用 skip execution 如果已经有flow的实例在运行了就放弃执行 run concurrently 同一个flow的实例并行运行 pipeline 同一个flow的实例按照流水线方式并行执行,所谓流水执行就是相同job或者job子节点穿行 -
Flow Parameters
参数名 作用 exec/conf/global.properties 对所有job有效 exec/plugin/jobtypes/common.properties 对所有job类型有效 exec/plugin/jobtypes/{jobtype-name}/plugin.properties 对统一个job类型有效 项目包中.properties文件 同级或子目录job有效 flow parameters 同一个flow有效 .job 只对本job才有效