Azkaban的使用(完全版)

  • 1.工程主界面功能

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

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

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

  • 5.查看历史任务

一、工程主界面功能

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

创建project如下图:
在这里插入图片描述在这里插入图片描述在这里插入图片描述Projects:工程界面
Scheduling:定时工作流
Executing:正在执行的工作流
History:工作流执行历史记录
Flow Trigger Schedule:工作流触发时间表

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

1.Flow View

 各个job的依赖关系

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

2.Notification
任务执行成功或者失败后进行告警,需要用户填写告警邮箱在这里插入图片描述此处注意如果在此处设置告警邮箱只能生效一次,如何设置长期有效的告警邮箱,在最后会写。

3.Failure Options

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

Finish Current Running:只完成当前运行的job,不会启动其他的job(默认)
Cancel All:立即取消所有的job,并使该flow失败
Finish All Possible:继续执行flow的其他job任务
在这里插入图片描述
4.Concurrent

并行执行选项

在这里插入图片描述

5.Flow Parameters

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

在这里插入图片描述

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

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

1、立即执行

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

在这里插入图片描述

2、定时执行

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

在这里插入图片描述

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

在这里插入图片描述

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

4.任务执行界面

Currently Running:当前正在执行的任务
Recently Finished:最近已经完成在任务
在这里插入图片描述

四 && 五

1.历史执行任务

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

Quick Search:根据flow名称查询
Advanced Filter:高级条件查询
在这里插入图片描述
用户可以通过点击 Execution Id查看该任务的执行日志情况

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

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

六.告警邮件的设置

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 直接设置 提醒人信息 手动执行 也可以(只生效一次)
在这里插入图片描述

发布了27 篇原创文章 · 获赞 9 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/I_Demo/article/details/89555412