工作流程调度器DolphinScheduler
1、DolphinScheduler简介
-
Apache DolphinScheduler](https://dolphinscheduler.apache.org/)(目前处在孵化阶段)是一个分布式、去中心化、易扩展的可视化DAG工作流任务调度系统,
其致力于解决数据处理流程中错综复杂的依赖关系,使调度系统在数据处理流程中开箱即用。 -
DolphinScheduler是2019年中国易观公司开源的一个调度系统,在美国时间2019年8月29号,易观开源的分布式任务调度引擎DolphinScheduler(原EasyScheduler)
正式通过顶级开源组织Apache基金会的投票决议,根据Apache基金会邮件列表显示,在包含11个约束性投票(binding votes)和2个无约束性投票(non-binding votes)的
投票全部持赞同意见,无弃权票和反对票,投票顺利通过,这样便以全票通过的优秀表现正式成为了Apache孵化器项目!
2、DolphinScheduler的特性
2.1 高可靠性
- 去中心化多Master和Worker,自身支持HA功能,采用任务队列来避免过载,不会造成机器卡死
2.2.简单易用
- DAG监控界面,所有流程定义都是可视化,通过拖拽任务制定DAG
- 通过API方式与第三方系统对接,一键部署。
2.3.丰富的使用场景
- 支持暂停、恢复操作,支持多租户,更好的应对大数据的使用场景,支持更多的任务类型,如hive,mr,spark,python
2.4.高扩展性
- 支持自定义任务类型,调度器使用分布式调度,调度能力随集群线性增长,Master和Worker支持动态上下线
3、DolphinScheduler的架构介绍
3.1 系统架构设计
https://dolphinscheduler.apache.org/zh-cn/blog/architecture-design.html
3.2 DS-1.3改进及新特性
- 数据库减压,减少极端情况下的可能造成的调度延时
- Worker去DB、职责更单一
- Master和Worker直接通信,降低 延时
- Master多种策略分发任务(有三种方式选择Worker节点:随机、循环、CPU和 内存的线性加权负载平衡 )
- 资源中心支持多目录
- 任务类型新增Datax、 Sqoop、条件分支
- DAG一键格式化
- 批量导出和导入工作流
- 工作流复制