教育行业A股IPO第一股(股票代码 003032)

全国咨询/投诉热线:400-618-4000

Azkaban:常用的工作流管理器有哪些?

更新时间:2023年02月01日14时56分 来源:传智教育 浏览次数:

好口碑IT培训

  无论是在业务开发还是在大数据开发中,工作流管理都是必不可少的,在初期可以使用Linux自带的crontab工具来定时调度任务,但是当业务规模变大并且需要可视化监控任务执行的时候,crontab显然已经满足不了需求。为此,针对这种多任务、可视化调度的调度管理需求,Apache以及其他组织提供了一系列工作流管理器,包括Oozie、Azkaban、Zeus、Dagobah、Luigi、Pinball和Airflow等。

  接下来,就选取其中常用的、知名的工作流管理器进行简单介绍。

  1.Oozie

  Oozie是Apache旗下的用于管理Hadoop任务的工作流/协调系统。Oozie工作流中拥有多个Action,如Hadoop Map/Reduce job和Hadoop Pig job等,所有的Action以有向无环图(Direct Acyclic Graph,DAG)的模式部署运行。

  Oozie工作流管理器的优点是与Hadoop生态圈紧密结合,提供了诸多配置和功能,可以很好地实现Hadoop工作任务管理;缺点是Oozie通过大量的XML文件来定义DAG依赖,导致了Oozie的功能和配置过于复杂,维护成本较高,且不易二次开发。

  2.Azkaban

  Azkaban是由LinkedIn公司开源的一个批量工作流任务调度器,用于在一个工作流内以一个特定的顺序运行一组工作和流程。Azkaban定义了一种KV文件格式来建立任务之间的依赖关系,并提供一个易于使用的UI维护和跟踪工作流。

  Azkaban也属于Hadoop生态圈,它是通过较为简单的properties文件来定义DAG依赖的,同时Azkaban支持可插拔的扩展插件,方便扩展,如支持pid、hive等。

  Azkaban工作流管理器的特点是所有的任务资源文件都需要打成一个zip包上传。当资源文件较大的时候不是太方便,当然也可以进行扩展,如存放在HDFS上面,任务实际运行的时候才拉到本地。

  3.Zeus

  Zeus是Alibaba开源的一个完整的Hadoop的作业平台,用于从Hadoop任务的调试运行到生产任务的周期调度管理。

  Zeus支持任务执行的整个生命周期。从功能上来说,包括支持:

  (1)Hadoop MapReduce任务的调试运行;

  (2)Hive任务的调试运行;

  (3)Shell任务的运行;

  (4)Hive元数据的可视化查询与数据预览;

  (5)Hadoop任务的自动调度;

  (6)完整的文档管理。

  需要说明的是Zeus是针对Hadoop集群任务定制的,通用性不强。Zeus在Github上线时受到青睐,但是由于长期缺乏维护更新,时隔两年,依然仅支持Hadoop1.x版本,后期的Zeus版本也不再开源了。

0 分享到:
和我们在线交谈!