大数据Azkaban(一):工作流管理器概述
工作流管理器概述
无论是在业务开发还是在大数据开发中,工作流管理是必不可少的,在初期可以使用Linux自带的crontab工具来定时调度任务,但是当业务规模变大并且需要可视化监控任务执行的时候,crontab显然已经满足不了需求。为此,针对这种多任务、可视化调度的调度管理需求,Apache以及其他组织提供了一系列工作流管理器。
一、工作流调度系统背景
一个完整的数据分析系统通常都是由大量任务单元组成,例如shell脚本程序、java程序、mapreduce程序和hive脚本等。各任务单元之间存在时间先后及依赖关系,为了将这复杂的执行计划组织起来,需要一个工作流调度系统来调度执行。
二、常用工作流管理器介绍
1、Azkaban
Azkaban是由Linkedin公司开源的一个批量工作流任务调度器,用于在一个工作流内以一个特定的顺序运行一组工作和流程。
2、Oozie
Oozie是Apache旗下的,用于管理Hadoop任务的工作流/协调系统,可与Hadoop生态圈紧密结合,提供诸多配置和功能。
3、Zeus
Zeus是Alibaba开源的一个完整的Hadoop的作业平台,用于从Hadoop任务的调试运行到生产任务的周期调度管理。Zeus是针对Hadoop集群任务定制的,通用性不强。Zeus在Github上线时受到青睐,但是由于长期缺乏维护更新,时隔2年,依然仅支持Hadoop1.X版本,后期的Zeus版本也不再开源了。
三、常见工作流管理器组成介绍
1、job任务
Azkaban是对job调度管理,而每个job任务都编写在一个后缀名为.job的文本文件中,在该文件中可定义job任务类型、将运行的任务、依赖的其他job及job运行的相关参数。
2、工作流
工作流是指具有依赖关系的一组jobs任务,被依赖job任务会先执行。
3、嵌入流
嵌入流是工作流穿插到其他流的某个节点上。
- 点赞
- 收藏
- 关注作者
评论(0)