DolphinScheduler功能深度解析

鲍亮,易观大数据平台专家、DolphinScheduler PPMC,重点分享 DolphinScheduler 关于无中心架构的容错设计,工作流及任务状态切换、任务组件的功能设计以及版本升级的兼容设计以及您可能从未注意到的高级功能等

展开查看详情

1.Apache DolphinScheduler 功能深度解析 鲍亮 易观大数据平台专家 Apache DolphinScheduler PPMC

2. 目录 CONTENTS 01 项目现状 02 容错设计 03 状态转换 04 任务组件 05 核心功能 06 升级流程 2020-9-5 数据驱动精益成长 2

3. PART 1 DolphinScheduler现状 2020-9-5 数据驱动精益成长 3

4. DolphinScheduler社区 贡献者分布 Commiters(27) Wu Baoqi, Caibiao Xiang, Liang Chen, Xingchun Chen, 易观 头条 Cong Huang, Shang Lou, Kevin Ratnasekera, Li Huang, Shaojie Wu, Jun Gao, Guo William, Kejia Chen, Qiao Zhanwei, 阿里 腾讯 京东 Furkan Kamaci, Leon Bao, Zongyao Zhang, Gang Li, Lidong Dai, Lin Li, Xiaochun Liu, Wenhe Li, ZijJian Gong, Shao Feng Shi, Guo Jiwei, Hemin Wen, Sheng Wu, Kai Zhu 滴滴 华为 平安 360 小米 陌陌 观远 多点 同程 中移动 趣加 荔枝 社群超过3000人,近 400 家公司使用 2020-9-5 数据驱动精益成长 4

5. DolphinScheduler架构 2020-9-5 数据驱动精益成长 5

6. PART 2 容错功能 2020-9-5 数据驱动精益成长 6

7. 为什么需要容错 服务器宕机 网络故障 容错 组件故障 服务中断 ZK 2020-9-5 数据驱动精益成长 7

8. 假如没有容错 100? 1000? 10000? 。。。 2020-9-5 数据驱动精益成长 8

9. Master容错机制 2020-9-5 数据驱动精益成长 9

10. Worker容错机制 2020-9-5 数据驱动精益成长 10

11. PART 6 状态转换 2020-9-5 数据驱动精益成长 11

12. 工作流/任务的状态 提交成功 成功 运行中 (准备) 失败 暂停 (准备) 容错 停止 线程等待 2020-9-5 数据驱动精益成长 12

13. 如何判定工作流的状态 Running • 存在未结束的任务 Failure • 存在失败的任务? Pause • 准备暂停后存在暂停的任务? Stop • 准备停止后存在停止的任务 Success • 所有任务成功 2020-9-5 数据驱动精益成长 13

14. 工作流操作的状态转换 (准备)暂停 (准备)停止 暂停/停止/失败 恢复 重跑 2020-9-5 数据驱动精益成长 14

15. 资源限制-线程等待状态 DAG10 DAG11 DAG10 DAG1 DAG2 DAG10 DAG2 DAG11 DAG2 DAG3 DAG3 DAG3 Master Master Master 2020-9-5 数据驱动精益成长 Cpu 和线程数限制 15

16. PART 6 任务组件 2020-9-5 数据驱动精益成长 16

17. 任务组件-shell 2020-9-5 数据驱动精益成长 17

18. 任务组件-子工作流 选取其他工作流作为 子任务 点击查看子任务运行 情况 子工作流运行结果影 响父工作流 2020-9-5 数据驱动精益成长 18

19. 任务组件-依赖任务 依赖组合 只判断不执行 依赖粒度到任务 依赖机制-启动就等待 依赖机制-最终状态 2020-9-5 数据驱动精益成长 19

20. 任务组件-条件判断任务 条件分支 条件聚合 条件组合 2020-9-5 数据驱动精益成长 20

21. PART 5 核心功能 2020-9-5 数据驱动精益成长 21

22. 核心功能-定时 分布式定时 定时时效范围 定时上下线 2020-9-5 数据驱动精益成长 22

23. 核心功能-补数 补数方式 根据定时补数 2020-9-5 数据驱动精益成长 23

24. 核心功能-资源多级目录 多级目录 在线编辑 权限管理 重新上传 2020-9-5 数据驱动精益成长 24

25. 核心功能 失败策略 指定任务开始 Worker Group 工作流/任务优先级 多租户设计 数据源中心 … 2020-9-5 数据驱动精益成长 25

26. PART 6 升级设计 2020-9-5 数据驱动精益成长 26

27. 版本升级-向下兼容 DB-x.x.x DB-1.3.x DB-1.2.x DB-1.1.0 x.x.x 1.3.x 1.2.x 1.1.0 x.x.x/schema: dolphinscheduler_ddl.sql x.x.x/schema: dolphinscheduler_dml.sql 2020-9-5 数据驱动精益成长 27

28. DolphinScheduler资源 在线DEMO: http://106.75.43.194:8888/ 官网:https://dolphinscheduler.apache.org 开源地址: https://github.com/apache/incubator-dolphinscheduler 加入我们: Ø Submit an issue Ø Mail to dev-subscribe@dolphinscheduler.apache.org, Ø follow the reply to subscribe the mail list. 2020-9-5 数据驱动精益成长 28

Apache DolphinScheduler(原EasyScheduler)是一个分布式工作流任务调度系统,主要解决错综复杂的依赖关系,而不能直观监控任务健康状态等问题。同类作品有oozie、Azkaban等,欢迎对比,哈哈