一、简述Azkaban
1、什么是Azkaban
Azkaban是由Linkedin公司推出的一个批量工作流任务调度器,主要用于在一个工作流内以一个特定的顺序运行一组工作和流程,它的配置是通过简单的key:value对的方式,通过配置中的dependencies 来设置依赖关系。Azkaban使用job配置文件建立任务之间的依赖关系,并提供一个易于使用的web用户界面维护和跟踪你的工作流。
2、Azkaban特点
- 兼容任何版本的hadoop
- 易于使用的Web用户界面
- 简单的工作流的上传(你自己写一个工作流的job文件。)
- 方便设置任务之间的关系
- 调度工作流
- 模块化和可插拔的插件机制
- 认证/授权(权限的工作)
- 能够杀死并重新启动工作流
- 有关失败和成功的电子邮件提醒(只支持163邮箱)
3、Azkaban的架构
Azkaban由三个关键组件构成:
1、AzkabanWebServer:AzkabanWebServer是整个Azkaban工作流系统的主要管理者,它用户登录认证、负责project管理、定时执行工作流、跟踪工作流执行进度等一系列任务。
2、AzkabanExecutorServer:负责具体的工作流的提交、执行,它们通过mysql数据库来协调任务的执行。
3、关系型数据库(MySQL):存储大部分执行流状态,AzkabanWebServer和AzkabanExecutorServer都需要访问数据库。
二、Azkaban的安装
1、下载Azkaban
下载地址:http://azkaban.github.io/downloads.html
2、安装准备
1、将Azkaban Web服务器、Azkaban执行服务器、Azkaban的sql执行脚本及MySQL安装包上传到Linux中
1、azkaban-web-server-2.5.0.tar.gz
2、azkaban-executor-server-2.5.0.tar.gz
3、azkaban-sql-script-2.5.0.tar.gz
4、mysql-libs.zip
2、选择Mysql作为Azkaban数据库,因为Azkaban建立了一些Mysql连接增强功能,以方便Azkaban设置。并增强服务可靠性
3、安装Azkaban
1、在/opt/module/目录下创建azkaban目录
[atguigu@hadoop102 module]$ mkdir azkaban
2、解压azkaban-web-server-2.5.0.tar.gz、azkaban-executor-server-2.5.0.tar.gz、azkaban-sql-script-2.5.0.tar.gz到/opt/module/azkaban目录下
[atguigu@hadoop102 software]$ tar -zxvf azkaban-web-server-2.5.0.tar.gz -C /opt/module/azkaban/
[atguigu@hadoop102 software]$tar -zxvf azkaban-executor-server-2.5.0.tar.gz -C /opt/module/azkaban/
[atguigu@hadoop102 software]$ tar -zxvf azkaban-sql-script-2.5.0.tar.gz -C /opt/module/azkaban/
3、对解压后的文件重新命名,将azkaban-web-server-2.5.0.tar.gz改为server,将azkaban-executor-server-2.5.0.tar.gz改为executor
[atguigu@hadoop102 azkaban]$ mv azkaban-web-2.5.0/ server
[atguigu@hadoop102 azkaban]$ mv azkaban-executor-2.5.0/ executor
4、azkaban脚本导入,进入mysql,创建azkaban数据库,并将解压的脚本导入到azkaban数据库
[atguigu@