大数据Azkaban(一):工作流管理器概述

举报
Lansonli 发表于 2024/10/26 22:30:04 2024/10/26
【摘要】 工作流管理器概述无论是在业务开发还是在大数据开发中,工作流管理是必不可少的,在初期可以使用Linux自带的crontab工具来定时调度任务,但是当业务规模变大并且需要可视化监控任务执行的时候,crontab显然已经满足不了需求。为此,针对这种多任务、可视化调度的调度管理需求,Apache以及其他组织提供了一系列工作流管理器。一、工作流调度系统背景一个完整的数据分析系统通常都是由大量任务单元组...

工作流管理器概述

无论是在业务开发还是在大数据开发中,工作流管理是必不可少的,在初期可以使用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、嵌入流

嵌入流是工作流穿插到其他流的某个节点上。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。