> 文章列表 > 任务调度系统对比

任务调度系统对比

任务调度系统对比

1、常见任务调度系统对比(后续逐个介绍)

特点 DolphinScheduler Xxl-job Azkaban Airflow Oozie
定位 解决数据处理流程中错综复杂的依赖关系 一个轻量级分布式的任务
调度框架
为了解决Hadoop的任务
依赖关系问题
通用的批量数据处理 管理Hadoop作业(job)的工作流程调度
管理系统
任务监控支持 任务状态、任务类型、重试次数、任务运
行机器、可视化变量等关键信息一 目了然
只能看到任务状态 不能直观区分任务类型 任务状态、任务类型、任务运行机器、创建时
间、启动时间、完成时间等。
任务类型支持 支持传统的shell任务,同时支持大数据平
台任务调度:MR、Spark、SQL
(mysql、postgresql、hive/sparksql)、
python
Java Command、Hadoop-
Shell、Java、HadoopJa-
va、Pig、Hive等,支持插
件式扩展
Python、Bash、HTTP、
Mysql等,支持Operator的
自定义扩展。
统一调度hadoop系统中常见的mr任务启动、
Java  MR、Streaming  MR、Pig、Hive、
Sqoop、Spark、Shell等

可视化流程定义

所有流定时操作都是可视化的,通过拖拽
来绘制DAG,配置数据源及资源,同时对
于第三方系统,提供api方式的操作。
可配置任务级联触发 通过自定义DSL绘制DAG并
打包上传
通过python代码来绘制
DAG,使用不便
配置相关的调度任务复杂,依赖关系、时间触
发、事件触发使用xml语言进行表达
自定义任务类型支持 是(需要java先开发具体执行器)
暂停/恢复/补数 支持暂停、恢复补数操作 支持暂停、恢复操作 否(只能先将工作流杀死再重新运行) 否(只能先将工作流杀死再重新运行) 支持启动/停止/暂停/恢复/重新运行:(Oozie支持Web,RestApi,Java API操作)
高可用支持 支 持 H A 支持HA 通过DB支持HA 通过DB支持HA 通过DB支持HA
去中心化的多Master和多Worker 调度中心HA和执行器HA 但 W e b Server存在单点故障
风险
-但Scheduler存在单点故障
风险

多租户支持

支 持
dolphinscheduler上的用户可以通过租
户和hadoop用户实现多对一或一对一的
映射关系,这对大数据作业的调度是非常
重 要 。
过载处理能力 任务队列机制,单个机器上可调度的任务
数量可以灵活配置,当任务过多时会缓存
在任务队列中,不会操作机器卡死
任务队列机制,轮询 任务太多时会卡死服务器 任务太多时会卡死服务器 调度任务时可能出现死锁

集群扩展支持

调度器使用分布式调度,整体的调度能力
会随集群的规模线性增长,Master和
Worker支持动态上下线
新注册执行器即可 -只Executor水平扩展 -只Executor水平扩展