Azkaban工作流调度

1.Azkaban工作流调度:

1. Azkaban介绍

Azkaban是由linkedin(领英)公司推出的一个批量工作流任务调度器,用于在一个工作流内以一个特定的顺序运行一组工作和流程。Azkaban使用job配置文件建立任务之间的依赖关系,并提供一个易于使用的web用户界面维护和跟踪你的工作流。

Azkaban功能特点:
• 提供功能清晰,简单易用的Web UI界面
• 提供job配置文件快速建立任务和任务之间的依赖关系
• 提供模块化和可插拔的插件机制,原生支持command、Java、Hive、Pig、Hadoop
• 基于Java开发,代码结构清晰,易于二次开发

  1. Azkaban原理架构
    Azkaban工作流调度
    mysql服务器: 存储元数据,如项目名称、项目描述、项目权限、任务状态、SLA规则等
    AzkabanWebServer:对外提供web服务,使用户可以通过web页面管理。职责包括项目管理、权限授权、任务调度、监控executor。
    AzkabanExecutorServer:负责具体的工作流的提交、执行。

3. Azkaban三种部署模式

3.1. solo server mode
该模式中webServer和executorServer运行在同一个进程中,进程名是AzkabanSingleServer。使用自带的H2数据库。这种模式包含Azkaban的所有特性,但一般用来学习和测试。
3.2. two-server mode
该模式使用MySQL数据库, Web Server和Executor Server运行在不同的进程中。
3.3. multiple-executor mode
该模式使用MySQL数据库, Web Server和Executor Server运行在不同的机器中。且有多个Executor Server。该模式适用于大规模应用。

Azkaban安装部署

1. 解压配置
mkdir /export/servers/azkaban
tar -zxvf azkaban-solo-server-0.1.0-SNAPSHOT.tar.gz –C /export/servers/azkaban/

vim conf/azkaban.properties
default.timezone.id=Asia/Shanghai #修改时区

vim plugins/jobtypes/commonprivate.properties
添加:memCheck.enabled=false
azkaban默认需要3G的内存,剩余内存不足则会报异常

2. 启动验证
cd azkaban-solo-server-0.1.0-SNAPSHOT/
bin/start-solo.sh
注:启动/关闭必须进到azkaban-solo-server-0.1.0-SNAPSHOT/目录下。
Azkaban工作流调度
AzkabanSingleServer(对于Azkaban solo‐server模式,Exec Server和Web Server在同一个进程中)

接下来登录web页面
访问Web Server=>http://node-1:8081/ 默认用户名密码azkaban

Azkaban工作流调度