azkaban3.x学习(一)安装部署
背景
公司最近需要搭建一个工作流任务调度系统,最终选择开源框架azkaban,目前只是学习分享,如有误解偏差,欢迎指正;
azkaban官网这样描述:
Azkaban is a batch workflow job scheduler created at LinkedIn to run Hadoop jobs. Azkaban resolves the ordering through job dependencies and provides an easy to use web user interface to maintain and track your workflows.
以及特性:
- Compatible with any version of Hadoop
- Easy to use web UI
- Simple web and http workflow uploads
- Project workspaces
- Scheduling of workflows
- Modular and pluginable
- Authentication and Authorization
- Tracking of user actions
- Email alerts on failure and successes
- SLA alerting and auto killing
- Retrying of failed jobs
基本可以满足Hadoop体系的工作流任务调度。
安装
azkaban3.0以上版本,支持两种部署方式:独立服务器(alone “solo-server”)模式以及分布式多执行器(distributed multiple-executor)模式。
独立服务器模式可以用于小规模的用例,使用嵌入H2数据库,Web-server和executor-server都在同一进程中运行。
分布式多执行器模式适用于重量级的生产环境。官方推荐它的DB应该由具有主从设置的MySQL实例支持。并且在理想情况下,Web-server和executor-server应在不同的主机中运行,以便升级和维护,并提升azkaban的使用性能。
不论使用哪一种部署方式,部署之前都需要先构建源码,环境依赖Java 8+;
源码地址:https://github.com/azkaban/azkaban
源码构建
- 将源码clone到服务器
git clone https://gith