美文网首页
三、Azkaban功能总体介绍

三、Azkaban功能总体介绍

作者: yannhuang | 来源:发表于2017-05-09 17:52 被阅读1146次

    一、概述

    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目录内容如下:

    command目录内容

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

    command压缩包

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

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

    新增command任务

    新增完成后的界面如下

    project界面

    2、上传zip包

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


    upload界面

    上传界面如下:

    上传界面

    3、工程主界面功能介绍

    command主界面

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

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

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

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

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

    Flow View界面图

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

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

    Notification界面

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

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

    Failure Options

    (4)Concurrent:并行执行选项

    Concurrent

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

    Flow Parameters

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

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

    1、立即执行

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

    任务提交生成execid

    2、定时执行

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

    定时执行界面

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

    四、定时执行展示界面

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

    定时执行展示界面

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

    Set SLA界面

    五、任务执行界面

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


    任务执行界面

    六、历史执行任务

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

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

    历史执行任务

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

    任务执行情况界面

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


    Job List

    任务执行日志如下:

    Paste_Image.png

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

    转载请注明出处,谢谢!
    作者:王彦鸿
    QQ:845399683

    相关文章

      网友评论

          本文标题:三、Azkaban功能总体介绍

          本文链接:https://www.haomeiwen.com/subject/axtvtxtx.html