Apache DolphinScheduler 3.4.3 介绍与选型指南
Apache DolphinScheduler 3.4.3(2026-09-10 发布):DAG 可视化工作流调度平台的去中心化 Master/Worker 架构、多租户与补数依赖等关键特性、官方 Standalone 上手路径(JDK 8/11、ZooKeeper 3.8.0+/MySQL 8.0.33/ETCD 注册中心),以及与 Airflow 3.3.2、Dagster 1.13.26、Azkaban 4.0.0、XXL-Job 3.5.0 的量化选型对比。
Apache DolphinScheduler 3.4.3 介绍与选型指南
目标:基于官方发布信息讲清 Apache DolphinScheduler 3.4.3 的 DAG 工作流调度定位、去中心化核心架构、关键特性、上手路径与适用边界,并给出与 Airflow、Dagster、Azkaban、XXL-Job 的量化选型对比。本文为认知篇,全部版本号、社区指标与论断均于查询日期 2026-10-19 联网溯源官方文档与 GitHub 仓库,不做本地安装实测。
一、信息基准
本节固定本文全部关键信息的取证口径,后续章节的版本与指标均以此为依据。
- 查询日期:2026-10-19(本文所有版本号、发布日期、星标数、提交频率均在该日联网核验)。
- 基准版本:Apache DolphinScheduler 3.4.3,GitHub Release(tag 3.4.3)条目时间为 2026-09-10(来源:https://github.com/apache/dolphinscheduler/releases/tag/3.4.3 与 https://github.com/apache/dolphinscheduler/releases.atom ,查询日期 2026-10-19),为当前最新稳定版。
- 维护方:Apache 软件基金会(ASF)DolphinScheduler 项目,代码仓库 https://github.com/apache/dolphinscheduler 。
- 许可:Apache License 2.0(见 https://www.apache.org/licenses/ )。
- 发行形态:官方提供二进制发行包(dolphinscheduler-bin 等,见官方下载页 dolphinscheduler.apache.org/en-us/download/ )与源码包;官方文档提供 Standalone、伪集群、集群与 Kubernetes 四类部署形态。
- 运行环境:官方 3.4.3 部署文档标注 JDK 1.8 或 11;注册中心支持 ZooKeeper 3.8.0+、MySQL(8.0.33)、ETCD(来源:官方文档仓库 tag 3.4.3 的 installation 文档,https://github.com/apache/dolphinscheduler/blob/3.4.3/docs/docs/en/guide/installation/standalone.md ,查询日期 2026-10-19)。
- 版本依据(官方来源清单):
- 官方下载页:https://dolphinscheduler.apache.org/en-us/download/
- GitHub Releases(版本线):https://github.com/apache/dolphinscheduler/releases
- 3.4.3 版本部署文档(JDK/注册中心口径):https://github.com/apache/dolphinscheduler/blob/3.4.3/docs/docs/en/guide/installation/standalone.md
- 社区指标:https://img.shields.io/github/stars/apache/dolphinscheduler 、https://img.shields.io/github/contributors/apache/dolphinscheduler 、https://img.shields.io/github/commit-activity/m/apache/dolphinscheduler (查询日期 2026-10-19)
二、软件概述
2.1 项目定位与版本
Apache DolphinScheduler(海豚调度)是一个分布式、去中心化的可视化 DAG 工作流任务调度系统:以有向无环图组织数据处理任务(SQL、Shell、Spark、Flink、DataX 等数十种任务类型),提供工作流编排、定时调度、依赖管理、补数回填、告警与多租户能力,定位为大数据平台的"调度中枢"。项目源于中国社区、现属 ASF 顶级项目,双语(中/英)文档是其显著特色。
3.4.3 是当前最新稳定版(GitHub Release 条目 2026-09-10);该版本调度侧新增了"错过触发策略"(schedule missed fire policy,DSIP-107),即调度计划错过预定触发时点后的补偿执行策略(来源:GitHub Release 说明,查询日期 2026-10-19)。
2.2 版本节奏
GitHub Releases 显示近年版本线:
| 版本 | 发布时间(GitHub Releases 条目) | 说明 |
|---|---|---|
| 3.3.1 | 2025-08-25 | 3.3 线 |
| 3.3.2 | 2025-10-29 | 3.3 线补丁 |
| 3.4.0 | 2026-01-20 | 3.4 线首个特性版 |
| 3.4.1 / 3.4.2 / 3.4.3 | 2026-09-10(atom 条目时间) | 3.4 线连续补丁(3.4.2 含禁用 HTTP TRACE 的安全强化 DSIP-37,3.4.3 含 missed fire 策略 DSIP-107) |
数据来源:https://github.com/apache/dolphinscheduler/releases.atom ,查询日期 2026-10-19。注:atom 条目时间以 GitHub 记录为准,个别版本的原始发布时点以官方下载页与社区公告为准。
关键解读:3.4 线自 2026-01 起进入维护期,补丁集中在调度正确性与安全强化,生产跟进 3.4.3 即可获得当前最新修复。
三、核心架构
3.1 去中心化的多 Master/Worker 模型
DolphinScheduler 的核心理念是去中心化:Master 与 Worker 均可多节点水平部署,无单点 Master——多 Master 通过分布式锁与注册中心协调分片,任一 Master 故障不影响整体调度;Worker 执行器同样多节点负载分摊。各服务(API、Master、Worker、Alert、Logger)无状态可水平扩展,状态集中在外部数据库与注册中心。
3.2 核心服务与职责
- UI/API 服务:工作流定义、项目与租户管理的可视化与 REST 入口。
- Master:工作流实例的核心调度者,负责 DAG 拆分、任务派发、容错(failover)与补数执行。
- Worker:任务执行器,按任务类型调用对应执行器(Shell/SQL/Spark/Flink/DataX 等)并回传状态与日志。
- Alert:告警服务,对接邮件/脚本等告警通道(以官方告警文档为准)。
- 注册中心 + 元数据库:服务发现、配置与 master/worker 存活感知(ZooKeeper/ETCD/MySQL),工作流定义与执行历史持久化于关系库(生产为 MySQL/PostgreSQL)。
3.3 调度语义
调度对象自上而下为:项目 → 工作流(DAG)→ 任务节点;任务节点间以依赖(Dependent)连线表达先后约束,支持定时调度(crontab)、事件触发、依赖触发与补数(complement,按历史日期区间回跑);工作流间支持跨 DAG 依赖与子流程。任务运行状态机覆盖提交、运行、重试与失败转移。
四、关键特性
以下特性依据官方文档与 Release 说明归纳(来源:官方部署与功能文档、GitHub Release 说明,查询日期 2026-10-19):
- 可视化 DAG 编排:拖拽式工作流设计器,任务节点即拖即连,参数与超时/重试策略节点级配置。
- 丰富任务类型:内置 Shell、SQL(多方言)、Spark、Flink、MR、Python、HTTP、DataX、Sqoop、条件分支、子流程、依赖等数十种任务/控制节点(以官方任务类型文档为准)。
- 去中心化高可用:多 Master/Worker 无单点,任务 failover 与重试策略内建。
- 多租户与权限:以 Linux 用户/租户维度隔离运行环境,项目级授权。
- 补数与回填:按日期区间批量回跑历史数据,数仓重刷场景的核心能力。
- 错过触发策略(3.4.3 新增):DSIP-107 调度计划 missed fire 的补偿策略可配置。
- 安全强化(3.4.2 新增):DSIP-37 支持经配置禁用 Jetty 的 HTTP TRACE 请求。
- Python 网关:提供 PyDolphinScheduler 以 Python 代码定义工作流(默认关闭,可配置开启,见官方 standalone 文档注记)。
五、快速上手
以下路径转述自官方 3.4.3 文档《Standalone 部署》(来源:https://github.com/apache/dolphinscheduler/blob/3.4.3/docs/docs/en/guide/installation/standalone.md ,查询日期 2026-10-19),Standalone 形态内置 H2 内存库与 ZooKeeper Testing Server,用于快速认知。
-
前置环境:准备 JDK 1.8 或 11 并配置
JAVA_HOME(官方文档明确标注);准备部署用户并配置免密sudo(多租户任务切换用户依赖)。 -
下载解压:从官方下载页(https://dolphinscheduler.apache.org/en-us/download/ )选择 3.4.3 版本的二进制包下载并解压。
-
一键启动 Standalone Server:
bash ./bin/dolphinscheduler-daemon.sh start standalone-server
官方文档说明:解压后切换到具备 sudo 权限的用户执行该脚本即可快速启动;Standalone 默认使用 H2 内存数据库,官方注记建议仅用于少于 20 个工作流的体验场景,Standalone 停止或重启后内存库数据清空。
-
登录 UI:浏览器访问
http://localhost:12345/dolphinscheduler/ui,默认用户名/密码为 admin / dolphinscheduler123(官方文档标注)。 -
常用运维命令:官方文档列出的同脚本三态命令:
bash ./bin/dolphinscheduler-daemon.sh start standalone-server # 启动
bash ./bin/dolphinscheduler-daemon.sh stop standalone-server # 停止
bash ./bin/dolphinscheduler-daemon.sh status standalone-server # 状态
- 验证运行:登录 UI 后创建一个测试项目与 Shell 任务工作流并手动运行,任务实例状态变为成功即完成端到端验证;服务端可用上述 status 命令确认 standalone-server 运行中。
⚠️ 说明:Standalone 为官方最小认知形态;生产部署按官方文档采用伪集群/集群/Kubernetes 形态,元数据库切换 MySQL/PostgreSQL,注册中心切换 ZooKeeper(3.8.0+)/ETCD。
六、适用场景与限制
适用场景:
- 数据平台的 DAG 调度中枢:Hive/Spark/Flink/DataX 等数仓任务的依赖编排、定时与补数。
- 多租户共享调度:以租户隔离多团队工作流的平台化运营。
- 偏好中文文档与本土生态(DataX/SeaTunnel/DolphinScheduler 组合)的团队。
- 需要可视化运维(拖拽改流、实例级重跑、日志直查)而非性格偏代码化的调度系统。
限制与注意:
- 社区提交频率与生态插件数量低于 Airflow(见第七章量化数据),冷门集成可能需自研任务类型。
- Standalone/伪集群形态仅适合体验与小规模,生产级高可用需要完整集群化部署与外部注册中心/数据库运维。
- JDK 基线为 1.8/11(3.4.3 官方文档口径),与现代栈(JDK 17/21)共存时需规划独立运行环境。
- 工作流定义以关系库为源,配置即代码(GitOps)流程需借助 PyDolphinScheduler 等工具补齐。
七、同类选型对比
对比口径:均为查询日期 2026-10-19 通过 shields.io 与各项目官方渠道联网实查;社区指标为 shields.io 聚合口径,版本号取官方最新稳定发布。
| 软件 | 许可 | GitHub Stars | 贡献者 | 提交频率 | 最近发版 | 定位差异 |
|---|---|---|---|---|---|---|
| Apache DolphinScheduler 3.4.3 | Apache-2.0 | 15k | 358 | 21/月 | 3.4.3(2026-09-10) | 去中心化可视化 DAG 调度,多租户 + 补数,中文生态 |
| Apache Airflow 3.3.2 | Apache-2.0 | 47k | 410 | 998/月 | v3.3.2 | Python 代码定义 DAG(DAG as Code),生态与集成面最大 |
| Dagster 1.13.26 | Apache-2.0 | 16k | 407 | 118/月 | v1.13.26 | 资产(asset)视角的数据编排,数据质量/血缘内建 |
| Azkaban 4.0.0 | Apache-2.0 | 4.5k | 111 | 0/月 | v4.0.0 | LinkedIn 起源的属性文件式调度,社区已趋停滞 |
| XXL-Job 3.5.0 | GPL 类许可(以仓库 LICENSE 为准) | 31k | 78 | 11/月 | v3.5.0 | 轻量分布式任务调度(执行器模式),偏业务定时任务 |
选型建议:
- 数仓/大数据平台调度中枢,重视可视化运维、补数回填与多租户,DolphinScheduler 对口。
- 团队 Python 能力强、追求 DAG as Code + 最广集成生态(410 贡献者、998 提交/月的活跃度),Airflow 是默认答案;Airflow 3.x 后亦强化了调度与资产能力。
- 以数据资产与血缘为中心做现代化数据平台编排,Dagster 的 asset 模型更契合。
- 仅需业务侧轻量定时任务(HTTP/Bean 执行器、分片广播),XXL-Job 更轻;但注意其许可与大数据调度形态的差异。
- Azkaban 社区活跃度已明显衰退(4.5k 星、0 提交/月),新建平台不建议作为首选。
- 兼容矩阵要点:DolphinScheduler 3.4.3 适配 JDK 1.8/11,注册中心 ZooKeeper 3.8.0+/ETCD/MySQL 8.0.33;Airflow 3.x 与 Dagster 为 Python 运行时(版本要求以各自官方文档为准),混部 JVM 任务时需规划执行器环境。
八、参考链接
- 官方下载页:https://dolphinscheduler.apache.org/en-us/download/
- GitHub Releases:https://github.com/apache/dolphinscheduler/releases
- 3.4.3 Release:https://github.com/apache/dolphinscheduler/releases/tag/3.4.3
- 3.4.3 官方部署文档(Standalone):https://github.com/apache/dolphinscheduler/blob/3.4.3/docs/docs/en/guide/installation/standalone.md
- 代码仓库:https://github.com/apache/dolphinscheduler
- 社区指标取证:https://img.shields.io/github/stars/apache/dolphinscheduler 、https://img.shields.io/github/contributors/apache/dolphinscheduler 、https://img.shields.io/github/commit-activity/m/apache/dolphinscheduler
- Apache Airflow:https://airflow.apache.org/
- Dagster:https://dagster.io/
- Azkaban:https://azkaban.github.io/
- XXL-Job:https://www.xuxueli.com/xxl-job/