Azkaban 特点
- 兼容任何版本的 hadoop
- 易于使用的 Web 用户界面
- 简单的工作流的上传
- 方便设置任务之间的关系
- 调度工作流
- 模块化和可插拔的插件机制
- 认证/授权(权限的工作)
- 能够杀死并重新启动工作流
- 有关失败和成功的电子邮件提醒
常见工作流调度系统
1)简单的任务调度:直接使用 crontab 实现;
2)复杂的任务调度:开发调度平台或使用现成的开源调度系统,比如 ooize、azkaban 等
Azkaban 的架构
- AzkabanWebServer:AzkabanWebServer 是整个 Azkaban 工作流系统的主要管理者,
它用户登录认证、负责 project 管理、定时执行工作流、跟踪工作流执行进度等一
系列任务。 - AzkabanExecutorServer:负责具体的工作流的提交、执行,它们通过 mysql 数据库
来协调任务的执行。 - 关系型数据库(MySQL):存储大部分执行流状态,AzkabanWebServer 和
AzkabanExecutorServer 都需要访问数据库。