上图是 azkaban官网提供的架构图
- Relational Database (MySQL)
- AzkabanWebServer
- AzkabanExecutorServer
azkaban的三个组件分工:
元数据库:用于维护任务流信息以及执行情况信息;
Web服务器:用户交互的门户,同时也是管理任务流、工程,控制调度,任务分配的核心组件。
执行服务器:任务被真正吊起的服务器,可扩展。
AzkabanWebServer对数据库的使用:
- 项目管理;
- 追踪任务流的状态;
- 查看任务执行结果以及历史日志;
- 调度任务;
- sla;
AzkabanExecutorServer 对数据库的使用:
- 从数据库获取工程的信息;
- 从数据库获取要执行的任务流;
- 储存任务流和任务的日志信息;
- 从数据库获取内置任务流的任务依赖关系;