三、Azkaban功能总体介绍

一、概述

Azkaban是一套任务调度系统,可以调度command、hadoopMR、hive、spark、pig等任务,而且支持自定义plugin。本文将总体介绍Azkaban系统提供的各种功能。

在介绍功能之前,我们先准备一个简单的flow,用于演示。

Azkaban有三个核心的概念:

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

为了简单起见,本文使用最简单的任务类型:command 作为功能的演示。

编写一个包含两个job的flow的过程如下:

1、新增一个文件夹 command

2、在该文件夹下创建 cmd1.job 文件,内容如下:

type=command
command=echo "This is azkaban cmd1 ... "
command.1=pwd

3、在该文件夹下创建另外一个文件 cmd2.job,内容如下:

type=command
command=echo "This is azkaban cmd2 ... "
command.1=whoami
#依赖前一个job
dependencies=cmd1

可以看出,flow中的job之间是通过 dependencies 属性进行依赖的。

4、打包成zip文件

打包时是在command目录下进行的,不能直接把command目录打包,因为Azkaban要求压缩包解压后就可以看到job文件,而不是包含了一层目录,而且要打包成zip文件,不能是rar格式。command目录内容如下:

三、Azkaban功能总体介绍_第1张图片
command目录内容

打包后的压缩包内容如下:

三、Azkaban功能总体介绍_第2张图片
command压缩包

二、任务提交模块功能介绍

1、新增一个project,命名为command

三、Azkaban功能总体介绍_第3张图片
新增command任务

新增完成后的界面如下

三、Azkaban功能总体介绍_第4张图片
project界面

2、上传zip包

进入command 工程后,点击 Upload 按钮,打开上传界面,选择刚才打包的 command.zip 文件,然后点击Upload 进行上传


三、Azkaban功能总体介绍_第5张图片
upload界面

上传界面如下:

三、Azkaban功能总体介绍_第6张图片
上传界面

3、工程主界面功能介绍

三、Azkaban功能总体介绍_第7张图片
command主界面

(1)Flows:可以看到工程的每个job节点
(2)Permissions:工程的权限信息
(3)Project Logs:工程的操作日志信息

Flows下的Executions是可以看到该任务的历史执行信息,Summary是该任务的汇总信息

我们来重点关注一下 "Execute Flow" 执行按钮的功能

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

(1)Flow View:查看节点信息

三、Azkaban功能总体介绍_第8张图片
Flow View界面图

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

(2)Notification:任务执行成功或者失败后进行告警,需要用户填写告警邮箱

三、Azkaban功能总体介绍_第9张图片
Notification界面

(3)Failure Options:当任务失败的时候进行的操作

Finish Current Running:只完成当前运行的job,不会启动其他的job(默认)
Cancel All:立即取消所有的job,并使该flow失败
Finish All Possible:继续执行flow的其他job任务

三、Azkaban功能总体介绍_第10张图片
Failure Options

(4)Concurrent:并行执行选项

三、Azkaban功能总体介绍_第11张图片
Concurrent

(5)Flow Parameters:全局运行参数,可以覆盖job里的参数值

三、Azkaban功能总体介绍_第12张图片
Flow Parameters

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

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

1、立即执行

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

三、Azkaban功能总体介绍_第13张图片
任务提交生成execid

2、定时执行

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

三、Azkaban功能总体介绍_第14张图片
定时执行界面

这是 Azkaban 3.10.0版本提供的最新的功能。

四、定时执行展示界面

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

三、Azkaban功能总体介绍_第15张图片
定时执行展示界面

用户可以点击"Set SLA"按钮,指定任务在规定的时间内执行完成,否则就进行告警,如下图

三、Azkaban功能总体介绍_第16张图片
Set SLA界面

五、任务执行界面

Currently Running:当前正在执行的任务
Recently Finished:最近已经完成在任务


三、Azkaban功能总体介绍_第17张图片
任务执行界面

六、历史执行任务

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

Quick Search:根据flow名称查询
Advanced Filter:高级条件查询

三、Azkaban功能总体介绍_第18张图片
历史执行任务

用户可以通过点击 Execution Id查看该任务的执行日志情况
(1)点击任务的 Execution Id,比如上图中的 "1088",进入任务执行情况界面,在该界面中,用户可以看到每个节点执行是否成功,如下:

三、Azkaban功能总体介绍_第19张图片
任务执行情况界面

(2)查看节点执行日志
点击 Job List 执行标签页,每一项都有Details链接,在这里可以看到任务的执行日志


三、Azkaban功能总体介绍_第20张图片
Job List

任务执行日志如下:

三、Azkaban功能总体介绍_第21张图片
Paste_Image.png

至此,Azkaban的大概功能介绍完成。

你可能感兴趣的:(三、Azkaban功能总体介绍)