
目录大纲
0 写在前面的话
1.1 初识Azkaban
1.2 为什么需要任务调度器
1.3 常见几种任务调度器
1.4 Azkaban和Hadoop的关系
1.5 Azkaban 底层原理
2 Azkaban任务调度平台搭建
3 Azkaban Web可视化平台详细介绍以及使用
4 Azkaban API 功能预览
4.1 对接Azkaban,进行二次开发,使其嵌入到系统中
5 平台搭建中的问题总结
1.1 初识Azkaban
起源:Linkedin开源的一个批量工作流调度器
特征:一个工作流内,多个作业可以按照特定的顺序执行
依赖关系:作业之间的顺序关系依靠key-value的形式来建立依赖关系
可视界面:提供可视化web界面
1.2 为什么需要任务调度器
定时任务的出现,可谓大大提高了工作效率。最简单的定时任务,就是你手机的闹钟,你给它一个定时任务,到了指定时间它就叫醒你。程序当中也是如此,那些反复繁琐的操作,可以交给任务调度器去执行,这样既能避免人为的失误,也能让工作人员从无意义的工作中解脱出来!
什么是工作流任务调度器?
很多时候,单一的任务并没有办法满足我们的业务需求,任务直接有关联性,这时候工作流就诞生了!
1.3 常见几种任务调度器
常见的几种工作流任务调度器介绍
Hamake:
- 描述语言:xml
- 依赖机制:data-driven
- 不需要web容器
- 支持hadoop 作业调度
- 运行模式:command line utility
- 事件通知:不支持
- 无需安装
Oozie
- 描述语言:xml
- 依赖机制:explicit
- 需要web容器
- 不支持hadoop作业调度
- 运行模式:daemon
- 事件通知:不支持
- 需要安装
Azkaban
- 描述语言:text file with key/value pairs
- 依赖机制:explicit
- 需要web容器
- 支持Hadoop 作业调度
- 运行模式daemon
- 事件通知:不支持
- 需要安装
Cascading
- 工作流描述语言:Java Api
- 依赖机制:explicit
- 不需要web容器
- 支持hadoop 作业调度
- 运行模式 API
- 事件通知:有
- 无需安装
市面上最流行的工作流任务调度器大致有以下这两种:
- ooize
- azkaban
下面就这两种,进行详细的阐述
ooize 偏重量级,功能全面,但是配置却更加复杂
azkaban 偏轻量级,功能稍微缺少一些, 但是配置简单
功能方面:
- 均可调度mapreduce,pig,java,脚本工作流任务
- 均可定时执行工作流任务
工作流传参
Azkaban支持直接传参,例如inputOozie支持参数和EL表达式
定时执行
- Azkaban的定时执行任务是基于时间的
- Oozie的定时执行任务基于时间和输入数据
资源控制
- Azkaban有较严格的权限控制,如用户对工作流进行读/写/执行等操作
- Oozie暂无严格的权限控制
1.4 Azkaban 和 Hadoop的关系
Azkaban 几乎是Hadoop的御用工作流任务调度器
1.5 Azkaban 底层原理简述
<

本文介绍了Azkaban任务调度平台的起源、功能特性、与Hadoop的关系,详细步骤演示了Azkaban的搭建与Web可视化管理,以及如何通过API进行二次开发。重点讲解了定时任务、工作流依赖和权限控制等内容。
3400

被折叠的 条评论
为什么被折叠?



