Azkaban
介绍
Azkaban是在LinkedIn(领英)上创建的用于运行Hadoop作业的批处理工作流作业调度程序
Azkaban特征
分布式多执行器
MySQL重试
友好的用户界面
有条件的工作流程
数据触发
高安全性
支持插件扩展,从Web UI到作业执行
完整的作者管理系统
调度工具对比
Oozie
-
重量级的任务调度系统,功能全面,但是部署及配置会比较麻烦,从 crontab 到Oozie 上手会有一定难度
- Azkaban
Azkaban
- Azkaban 是介于 oozie 和 Crontab 之间的工具,但是安全性上不如 Oozie,同时如果出现失败情况,Azkaban会丢失所有的工作流,Oozie则可以继续运行
Azkaban架构
mysql服务器: 存储元数据,如项目名称、项目描述、项目权限、任务状态、SLA规则等
AzkabanWebServer: 对外提供web服务,使用户可以通过web页面管理。职责包括项目管理、权限授权、任务调度、监控executor。
AzkabanExecutorServer:负责具体的工作流的提交、执行
Azkaban部署模式
solo server mode(单机)
- 该模式中webServer和executorServer运行在同一个进程中,进程名是AzkabanSingleServer。使用自带的H2数据库。这种模式包含Azkaban的所有特性,但一般用来学习和测试。
two-server mode(远程)
- 该模式使用MySQL数据库, Web Server和Executor Server运行在不同的进程中
multiple-executor mode(集群或者分布式)
- 该模式使用MySQL数据库, Web Server和Executor Server运行在不同的机器中。且有多个Executor Server。该模式适用于大规模应用。