大数据调度平台oozie、azkaban、dolphinscheduler对比
大数据调度平台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函数等。 | – | – |
邮件报警 | 支持 | 支持 | 支持 |
权限把控 | 可以通过对用户进行资源、项目、数据源的访问授权 | – | – |
版本更新迭代 | 持续发展中,升级不会影响当前集群,升级方式操作简单 | —— | 依赖当前集群版本,如更新最新版,易于现阶段集群不兼容 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Pandolar's Blog!
评论