1.出现契机
应用场景举例:
1、通过 Hadoop 先将原始数据同步到 HDFS 上;
2、借助 MapReduce 计算框架对原始数据进行清洗转换,生成的数据以分区表的形式存储到 多张 Hive 表中;
3、需要对 Hive 中多个表的数据进行 Join 处理,得到一个明细数据 Hive 大表; 4、将明细数据进行各种统计分析,得到结果报表信息; 5、需要将统计分析得到的结果数据同步到业务系统中,供业务调用使用。
2.常见工作流调度系统 & 对比
在 Hadoop 领域,常见的工作流调度器有 Oozie,Azkaban,Cascading,Hamake 等
2.1.各种调度工具对比
2.2.Azkaban 与 Oozie 对比
ooize 相比 azkaban 是一个重量级的任务调度系统,功能全面,但配置使用也更复杂。如果可以不 在意某些功能的缺失,轻量级调度器 azkaban 是很不错的候选对象。
工作流定义
Azkaban 使用 Properties 文件定义工作流 Oozie 使用 XML 文件定义工作流
定时执行
Azkaban 的定时执行任务是基于时间的 Oozie 的定时执行任务基于时间和输入数据
2.3.Azkaban 组件关系
关系数据库(目前仅支持 MySQL) web
管理服务器-AzkabanWebServer
执行服务器-AzkabanExecutorServer
Azkaban 使用 MySQL 来存储它的状态信息,Azkaban Executor Server 和 Azkaban Web Server 均使用到了 MySQL 数据库。
它有如下功能特点:
Web 用户界面
方便上传工作流
方便设置任务之间的关系 调度工作流
认证/授权(权限的工作)
能够杀死并重新启动工作流
模块化和可插拔的插件机制
项目工作区
工作流和任务的日志记录和审计
3.Azkaban 安装部署
3.1准备工作
Azkaban Web 服务器:azkaban-web-server-2.5.0.tar.gz
Azkaban Excutor 执行服务器 :azkaban-executor-server-2.5.0.tar.gz
Azkaban 初始化脚本文件:azkaban-sql-script-2.5.0.tar.gz
3.2安装说明
将安装文件上传到集群,最好上传到安装hive、sqoop 的机器上,方便命令的执行。并最好同
一存放在 apps 目录下,用于存放源安装文件.新建 azkaban 目录,用于存放 azkaban 运行程序
3.3解压
1 | tar -zxvf azkaban-web-server-2.5.0.tar.gz -C /home/apps/ap/azkaban/ |
3.4进入 mysql 导入任务 job 表
1 | mysql> create database azkaban; |
3.5创建 SSL 配置
最好是在 azkaban 目录下执行:
1 | # 执行命令: |
3.6 修改配置文件
注意: 配置文件后面一定不要有空格
1 | 1) 生成时区配置文件 Asia/Shanghai,用交互式命令 tzselect 即可, 如果有的话就不用再生成了 |
3.7 启动
1 | 1) 启动 Azkaban Web Server: |