常用调度工具Oozie、Azkaban、Airflow总结

调度的意义:
调度时一个项目中必不可少的,项目中一般都会包括程序、hive脚本等多任务,我们一般把任务写到shell脚本中,最后通过调度工具把所有的任务串起来。

airflow是一个可编程的工作流调度、监控平台。可分布式部署调用,基于DAG(本身没有队列功能,需要使用第三方组件,比如redis、rabbitMQ),airflow用python进行编程
开发,可以进行丰富的任务处理,包括bash命令的执行、python代码调用、发送邮件、发送Http请求等。
airflow websever -D启动airflow的web界面

azkaban是一个工作流监控、调度工具。可以部署分布式,通过在job文件中以properties格式配置任务并打包成zip包即可进行调度。azkaban内部架构包括三部分
excutorServer、webServer、mysql,分别负责任务的执行、web界面的显示、调度信息的存储。
azkaban是一个轻量级的调度器。

oozie是一个基于hadoop的分布式的工作流调度框架,oozie通过在xml文件中配置任务来进行调度,执行调度时会启动MR任务,依赖于hadoop平台,是一个重量级框架。

调度框架的区别
定时方面:
  1、Azkaban的定时执行任务是基于时间的
  2、Oozie的定时执行任务基于时间和输入数据
3、airflow定时任务可以用python代码实现基于时间和数据
开发方面:
1、azkaban使用properties文件定义工作流
2、oozie使用xml定义工作流
3、airflow使用python编程来定义工作流
优缺点:
1、azkaban,轻量级、开发较为简单、有良好的web界面对任务进行查看监控,但是azkaban定时执行任务只是基于时间,不基于数据。
2、airflow,微重量级,分布式的部署需要依赖第三方组件,开发需要使用python进行开发,有一定的难度。
3、oozie,重量级,可以通过CM或Ambari便捷安装,需要使用xml文件配置工作流,有一定的难度。

  • 0
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
OozieAzkaban和DolphinScheduler都是大数据平台上的定时调度系统,具有如下特点: 1. OozieOozie是一个基于Hadoop的工作流引擎,可以用来管理和调度Hadoop作业。它支持多种作业类型,如MapReduce、Hive、Pig等,并提供了可视化的工作流设计器,使得用户可以通过简单的拖拽和配置来创建工作流。Oozie的缺点是部署和配置比较复杂,需要较高的技术水平。 2. AzkabanAzkaban是一个基于Hadoop的批处理作业调度器,支持多种作业类型,如MapReduce、Pig、Hive等。它提供了Web界面,使得用户可以方便地创建和管理作业。Azkaban的优点是易于使用,但缺点是在大规模作业和复杂的依赖关系下性能较差。 3. DolphinScheduler:DolphinScheduler是一个开源的分布式调度系统,支持多种作业类型,如Shell、PySpark、Flink等。它提供了可视化的工作流设计器和Web界面,使得用户可以通过简单的拖拽和配置来创建工作流。DolphinScheduler的优点是易于使用、支持分布式部署和高可用,但缺点是相对较新,社区支持相对较弱。 总的来说,OozieAzkaban和DolphinScheduler都是可靠的定时调度系统,应该根据具体需求和场景来选择使用。如果需要支持多种作业类型和具备较高的灵活性,可以选择DolphinScheduler;如果需要易于使用和管理,可以选择Azkaban;如果需要支持大规模作业和较高的可靠性,可以选择Oozie

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值