大数据调度平台oozie、azkaban、dolphinscheduler对比

DolphinScheduler Azkaban Oozie
定位 解决数据处理流程中错综复杂的依赖关系 为了解决Hadoop的任务依赖关系问题 管理Hdoop作业(job)的工作流程调度管理系统
任务类型支持 支持传统的shell任务,同时支持大数据平台任务调度:MR、Spark、SQL(mysql、postgresql、hive/sparksql)、python、procedure、sub_process command、HadoopShell、Java、HadoopJava、Pig、Hive等,支持插件式扩展 统一调度hadoop系统中常见的mr任务启动、Java MR、Streaming MR、Pig、Hive、Sqoop、Spark、Shell等
可视化流程定义 所有流、定时操作都是可视化的,通过拖拽来绘制DAG,配置数据源及资源,同时对于第三方系统,提供api方式的操作。 通过自定义DSL绘制DAG并打包上传 配置相关的调度任务复杂,依赖关系、时间触发、事件触发使用xml语言进行表达
任务监控支持 任务状态、任务类型、重试次数、任务运行机器、可视化变量,以及任务流执行日志 只能看到任务状态 任务状态、任务类型、任务运行机器、创建时间、启动时间、完成时间等。
暂停/恢复/补数 支持暂停、恢复 补数操作 只能先将工作流杀死在重新运行 支持启动/停止/暂停/恢复/重新运行:支持启动/停止/暂停/恢复/重新运行:
Web,RestApi,Java API操作 支持
高可用支持 支持HA,去中心化的多Master和多Worker 通过DB支持HA,-但Web Server存在单点故障风险 通过DB支持HA
多租户支持 dolphinscheduler上的用户可以通过租户和hadoop用户实现多对一或一对一的映射关系。无法做到细节的权限管控。
过载处理能力 任务队列机制,单个机器上可调度的任务数量可以灵活配置,当任务过多时会缓存在任务队列中,不会操作机器卡死 任务太多时会卡死服务器 调度任务时可能出现死锁
集群扩展支持 调度器使用分布式调度,整体的调度能力会随集群的规模线性正常,Master和Worker支持动态上下线,可以自由进行配置 只Executor水平扩展 参照集群标准
文件管理 支持,可视化管理文件,及相关udf函数等。
邮件报警 支持 支持 支持
权限把控 可以通过对用户进行资源、项目、数据源的访问授权
版本更新迭代 持续发展中,升级不会影响当前集群,升级方式操作简单 —— 依赖当前集群版本,如更新最新版,易于现阶段集群不兼容