乐知付加密服务平台

如果你有资源, 平台可以帮你实现内容变现, 无需搭建知识付费服务平台。

点击访问官方网站 https://lezhifu.cc

扫码关注公众号 乐知付加密服务平台-微信公众号
调度系统airflow和azkaban对比 | chenzuoli's blog

调度系统airflow和azkaban对比

今天来对比下现在市面上开源的,用的比较多的两个调度系统airflow和azkaban的差别。

直接看表格吧:

功能AzkabanAirflow
所有者linkedinairbnb开源给apache
licenseApache License, Version 2.0Apache License, Version 2.0
调度模块Quartz自实现
调度中心HA不支持支持(2.0之后)
执行器HA支持支持
业务耦合度低,与实际业务无耦合。低,与实际业务无耦合。
Job类型Command、HadoopShell、Java、HadoopJava、Pig、Hive等,支持插件式扩展Python、Bash、HTTP、Mysql等,支持Operator的自定义扩展。
Executor触发RestfulRestful
工作流支持,自定义DSL语法支持,基于Python DAG
管理界面简单,美观程度airflow,整体功能逻辑清晰,上手简单该有的功能都有,但是复杂不直观,甚至有点难用
部署运维简单较复杂,包括WebServer、Scheduler、Worker和Flower(可选,用于)rabbitmq/redis
单点故障Web Server存在单点故障风险2.0之前Scheduler存在单点故障风险。
手动依赖执行不支持,需要手动选择哪些任务需要执行支持,airflow在手动执行某个任务时,可以选择同时执行该任务的上游和下游任务。

仔细看,他们俩不相上下啊,其实还是有细微的差别的:

  1. 支持的作业类型,airflow比azkaban多,azkaban作业类型偏向于hadoop hive类型作业,airflow除了这些还能执行shell sql http等任务;
  2. 当你使用才会知道,airflow支持dag间依赖,而azkaban不支持project间依赖,这对于复杂的依赖关系网任务群会让azkaban用起来非常棘手;
  3. 当你使用才会知道,airflow支持任务的历史回填,即回补执行,运行历史任务,参数对应历史时刻的值,相当于时光倒流,回到当时的任务状态,去执行任务,而azkaban不支持;

对比得差不多了,根据你们公司的具体作业场景选择合适的调度工具吧。

airflow更适合作业繁多,任务之间依赖复杂,任务多样(比如sql,http,python,java,shell等)时使用;
azkaban更适合hadoop类型作业。

ok,今天就到这里。


吾之初心,永世不忘。

欢迎关注我的微信公众号,比较喜欢分享知识,也喜欢宠物,所以做了这2个公众号:
程序员写书

喜欢宠物的朋友可以关注:【电巴克宠物Pets】
电巴克宠物

一起学习,一起进步。

-------------本文结束感谢您的阅读-------------