Azkaban 是由 Linkedin 公司推出的一个批量工作流任务调度器,主要用于在一个工作流内以一个特定的顺序运行一组工作和流程,它的配置是通过简单的 key:value 对的方式,通过配置中的 Dependencies 来设置依赖关系。Azkaban 使用 job 配置文件建立任务之间的依赖关系,并提供一个易于使用的 web 用户界面维护和跟踪你的工作流
架构
- AzkabanWebServer:AzkabanWebServer 是整个 Azkaban 工作流系统的主要管理者,它用户登录认证、负责 project 管理、定时执行工作流、跟踪工作流执行进度等一系列任务。
- AzkabanExecutorServer:负责具体的工作流的提交、执行,它们通过 mysql 数据库来协调任务的执行。
- 关系型数据库(MySQL):存储大部分执行流状态AzkabanWebServer 和AzkabanExecutorServer 都需要访问数据库。