- 快召唤伙伴们来围观吧
- 微博 QQ QQ空间 贴吧
- 文档嵌入链接
- 复制
- 微信扫一扫分享
- 已成功复制到剪贴板
低代码、高性能、云原生的数据调度工具 - Apache DolphinScheduler
Apache DolphinScheduler 社区分享于上海开源技术沙龙 #1(2024.03.02)
展开查看详情
1 .低代码、高性能、云原生的数据调度工具 - Apache DolphinScheduler 分享 伏长海 珍岛集团·开发工程师 Apache DolphinScheduler Committer 1
2 .目录 CONTENTS 01 介绍 02 痛点 03 用户及社区现状 04 优势与特性 05 2.0 新特性 06 珍岛集团案例 07 发展路线 08 相关资源
3 . PART 1 DolphinScheduler 介绍
4 . Apache DolphinScheduler 简介 Apache DolphinScheduler 是一个分布式、易扩展并 带有强大的可视化界面的大数据工作流调度系统。 2021 年 04 月 09 日正式成为 Apache 顶级项目。 首个由国人主导并贡献到 Apache 基金会的大数据工作 流领域的顶级项目。 已累计有 600+ 公司在生产上使用。DolphinScheduler 致力于在数据工作流编排中“解决复杂的大数据任务依赖 及触发关系,让各种大数据任务类型开箱即用”。 4
5 .PART 2 痛点
6 .Apache DolphinScheduler 起源 – 痛点 01 可视化DAG 04 简单易操作 依赖 实时查看运行状态 任务自依赖 每天数万任务运行 流程依赖等 02 调用高可用 流程可容错能力 05 任务日志/告警机制 失败重试、回滚、转移 便于排错、提醒 简单可维护 03 06 补数 丰富的任务类型 重刷历史数据 跨语言 自定义插件机制 6
7 . PART 3 用户及社区现状
8 .DolphinScheduler 部分用户案例(排名不分先后) 8
9 . PART 4 优势与特性 2024-3-7 9
10 .Apache DolphinScheduler 调度系统优势 高可靠性 简单易用 一键部署 – 简化部署,易维护 去中心化的多 Master 和多 Worker, 可视化 DAG 界面,所有流程定义都是 自身高可用能力 可视化,通过拖拽任务形成工作流模板 采用任务队列来避免过载,不会造成 支持 Open API 方式与第三方系统对接 机器卡死 丰富的使用场景 高扩展性、云原生能力 支持暂停恢复操作 支持自定义任务类型 支持多租户,权限管理等大数据应用场景 调度器使用分布式调度,调度能力随集 支持近 20 种任务类型,如 Spark, Hive, MR, 群线性增长 Python, Sub-Process, Shell 等 弹性伸缩, Master 和 Worker 支持动 态上下线 10
11 .Apache DolphinScheduler 调度系统主要能 力 • Task以DAG形式关 • 支持Shell、K8S、 • 工作流优先级、任务 • 工作流可定时、依赖、 优先级,全局参数及 联,实时监控任务的 Spark、SQL、依 局部自定义参数 手动、暂停/停止/恢 状态。 赖等10多种任务类 复 型。 • 支持补数、多租户、 • 完善的系统服务监控, • 去中心化设计确保系 • 支持每日十万数据量 统的稳定、高可用。 级任务稳定运行 日志在线查看及资源 任务超时告警/失败。 在线管理 11
12 .数据任务管理:流程定义可视化拖曳式配置 1. 可视化拖曳快速建立流程,大 大提高数据导入任务创建效率。 2. 支持多种数据加工任务类型, 包括Shell、数据源、Spark、 Flink、MR、Python、Http, 子流程、以及任务依赖。 子流程支持可以让数据 解析、数据导入等子流 程复用,如数据格式解 析、结果数据入库,避 免重复配置, 多种类型任务确保不同 量级数据导入的效率 12
13 .工作流运行过程可视化 13
14 .任务支持重跑、重试且可以查看任务执行情况 14
15 .任务管理:任务状态多粒度监控 数据加工平台任务监控总览 流程实例状态查看 任务执行状态回溯 任务执行日志查看 任务执行日志查看,方便运维实时了解任务运行状况,快 速定位问题。 15
16 .数据源管理:可视化配置、多数据源格式支持 1. 支持可视化的数据源包括: MySql、PostgerSql、 Hive、Impala、Spark、 ClickHouse、Oracle、 插件式扩展 SqlServer、DB2、 MongoDB等。平台采用 插件式设计,支持自由扩 展数据源支持。 2. 可视化的数据源管理,数 据源统一集中管理,一次 配置,到处使用,大大减 少配置修改带来的工作量。 也方便后续数据血缘关系 的处理 16
17 .工作流流程支持多策略启动、优先级、告警配置 任务流程多策略支持确保ETL过程 可管理: 支持任务失败策略选择,失败 继续或结束 支持多种通知策略 1. 失败发送通知 2. 成功发送通知 3. 全部通知 4. 全部不发通知 支持优先级设定,确保高优先 级流程优先执行 支持选定节点执行ETL任务流 支持串行与并行两种执行方式 17
18 .全方位系统监控,确保运行稳定 18
19 .安全中心 19
20 . PART 5 2.0 新特性 2024-3-7 20
21 . Apache DolphinScheduler 2.0 新架构 Master 重构 减少数据库轮询 去分布式锁 大幅减少线程使用 21
22 .Apache DolphinScheduler 2.0 新 UI 22
23 . 2.0 新增扩展能力 • 目前的10多种任务类型可能不能满足需求 数据同步任务 SQL任务 存储过程任务 数据质量 KETTLE任务 业务任务1 ...... 业务任务N 23
24 . 2.0 新增能力 所有扩展点都采用插件化实现 • 告警 SPI • 注册中心 SPI • 资源存储 SPI • 任务插件 SPI • 数据源 SPI •…… Waterdrop 24
25 . 2.0 新增主要 Feature • 任务结果参数传递 • 工作流间的血缘关系,如右图 • 增加数据同步组件 SeaTunnel、多分支等任务组 件能力支持 • 工作流定义和任务关系拆分,更易通过 open API 生成工作流 • 添加工作流版本控制,如下图 25
26 . PART 6 用户案例 2024-3-7 26
27 . 珍岛集团选择Apache DolphinScheduler 的原 因 简单、易用、可靠、扩展型强… 任务失败重试/告警 资源文件的在线上传,管理 你想重试几次 每次间隔多久 jar 包不怕丢 失败要不要发邮件告诉你? 实现集群高可用 各种复杂调度 集群去中心化 定时调度、依赖 调度、手动调度 丰富的任务类型 支持多租户 spark shell MR 咱俩不能用一个账号 HIVE python… 可视化 拖拽生成 DAG 分布式易扩展 权限管理 无单点问题、资源不 我只能访问授权的 够了要扩容 项目和资源 27
28 .Apache DolphinScheduler 在珍岛集团的应用实 践 1.DolphinScheduler应当成为一个服务,被各业务模块调用,不添加任何业务逻辑 2.各模块能够获取各任务实例的状态 3.所有用到的节点类型,如果是在worker 本地运行的,需要改成在K8S上执行 4.数据源以及任务插件能够方便拓展 28
29 .Apache DolphinScheduler 在珍岛集团的应用实 践 29