常用调度工具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文件配置工作流,有一定的难度。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值