Azkaban的使用(完全版)

  • 1.工程主界面功能

    • 工程
    • 工作流
    • 工作执行
  • 2.执行主界面介绍

    • 调度配置
    • 失败后(跳过失败的/结束任务)
    • 失败通知
    • 并行执行
    • 动态传参数
    • 跳过某一个任务
  • 3.执行操作

    • 立即执行
    • 定时执行
  • 4.查看日志

  • 5.查看历史任务

一、工程主界面功能

Project:可以包含一个或多个工作流flow
Flow:具体工作流,一个flow由一个或多个job组成
Job:一个工作流中的具体节点,可以是各种类型的执行任务

创建project如下图:
Azkaban的使用(完全版)_第1张图片Azkaban的使用(完全版)_第2张图片Azkaban的使用(完全版)_第3张图片Projects:工程界面
Scheduling:定时工作流
Executing:正在执行的工作流
History:工作流执行历史记录
Flow Trigger Schedule:工作流触发时间表

二、执行界面分为以下五个部分

1.Flow View

 各个job的依赖关系

Azkaban的使用(完全版)_第4张图片
通过dependencies关联的各个job节点,可以在这里看到清晰的依赖关系。其中通过选中job节点后右键,可以编辑该job参数,激活(Enable),冻结(Disable)该节点,这样在执行的时候就可以跳过被冻结的节点,默认节点是激活的。

2.Notification
任务执行成功或者失败后进行告警,需要用户填写告警邮箱Azkaban的使用(完全版)_第5张图片此处注意如果在此处设置告警邮箱只能生效一次,如何设置长期有效的告警邮箱,在最后会写。

3.Failure Options

当任务失败的时候进行的操作

Finish Current Running:只完成当前运行的job,不会启动其他的job(默认)
Cancel All:立即取消所有的job,并使该flow失败
Finish All Possible:继续执行flow的其他job任务
Azkaban的使用(完全版)_第6张图片
4.Concurrent

并行执行选项

Azkaban的使用(完全版)_第7张图片

5.Flow Parameters

全局运行参数,可以覆盖job里的参数值

Azkaban的使用(完全版)_第8张图片

三、任务执行模块功能介绍

任务的执行可以分为立即执行和定时执行

1、立即执行

点击 Execute 按钮,就可以执行任务,系统会先生成一个execid,作为执行该任务的唯一标志

Azkaban的使用(完全版)_第9张图片

2、定时执行

点击 Schedule 按钮,任务进入定时执行配置界面,使用的是cron表达式,如下:

Azkaban的使用(完全版)_第10张图片

3.定时执行展示界面
由上一步提交的定时执行任务,会在这个界面中显示出来。

Azkaban的使用(完全版)_第11张图片

用户可以点击”Set SLA”按钮,指定任务在规定的时间内执行完成,否则就进行告警(此功能在实践kill可以实现,发送邮件不能实现原因未知待解决

4.任务执行界面

Currently Running:当前正在执行的任务
Recently Finished:最近已经完成在任务
Azkaban的使用(完全版)_第12张图片

四 && 五

1.历史执行任务

任务只要提交了,都会在这里显示出来。如果运行的任务过多,用户可以通过条件过滤查询,比如:

Quick Search:根据flow名称查询
Advanced Filter:高级条件查询
Azkaban的使用(完全版)_第13张图片
用户可以通过点击 Execution Id查看该任务的执行日志情况

1 – 点击任务的 Execution Id,比如上图中的 “1088”,进入任务执行情况界面,在该界面中,用户可以看到每个节点执行是否成功,如下:

Azkaban的使用(完全版)_第14张图片

Azkaban的使用(完全版)_第15张图片

Azkaban的使用(完全版)_第16张图片

六.告警邮件的设置

1、配置发送人信息
在azkaban-web-server-3.59.0应用conf下azkaban.properties配置发送人信息
此设置已经设置好,无特殊改动无需修改。
cd /software/azkaban-web-server-3.16.0/conf
vim azkaban.properties
添加发件人信息:
mail.sender=***@***.cn //作为发送邮件的账号
mail.host=smtp.exmail.qq.com //腾讯企业邮箱使用这个,具体根据个人邮箱服务器设置
mail.user=Notify emails of azkaban //根据需要设置名称
mail.password=********* //发送邮件账号的密码

2、配置提醒人地址
(1)(推荐使用)方法一:在azkaban任务包,即所有.job文件的根目录下创建一个以.properties为扩展名的文件,(如notifyEmil.properties名字无所谓)将此文件一同打包为azkaban任务包。多个邮箱可以用逗号隔开。
配置项很简单:

#多个邮箱可以用逗号隔开
failure.emails    失败提醒人
success.emails    成功提醒人
notify.emails     执行(总是)提醒人

== 此方法实践成功,下面的2种方法配置未生效,不知原因,贴出来各位可以尝试一下==
(2)方法二:在.job文件中添加提醒人邮件地址
在提交的job文件中添加如下相应属性:
failure.emails 失败提醒人
success.emails 成功提醒人
notify.emails 执行(总是)提醒人
三个属性视具体需求而添加。
如:

#customer_life_cycle_change.job
type = command
command = sh customer_life_cycle_change.sh
failure.emails=***@****.cn
success.emails=***@****.cn
notify.emails =***@****.cn

(3)方法三:启动azkaban之后访问web端,创建好所需要的project(.job文件无需设置)进入project–>Execute Flow–>Notification 直接设置 提醒人信息 手动执行 也可以(只生效一次)
Azkaban的使用(完全版)_第17张图片

你可能感兴趣的:(工具使用)