DolphinScheduler 学习路线图:从跑通第一个工作流到上线生产的完整指南 DolphinScheduler 学习路线图从跑通第一个工作流到上线生产的完整指南【免费下载链接】dolphinschedulerApache DolphinScheduler is the modern data orchestration platform. Agile to create high performance workflow with low-code项目地址: https://gitcode.com/GitHub_Trending/dol/dolphinschedulerApache DolphinScheduler 是一个分布式、可视化 DAG有向无环图即描述任务依赖关系的图的数据编排平台核心能力是用低代码方式搭建并调度数据加工工作流。这篇文章按「先看懂 → 跑起来 → 日常开发 → 上生产 → 排错 → 深入生态」的读者旅程组织读完后你能拿到一份覆盖官方文档分布、部署选型、API 调用与社区入口的完整地图不用再满仓库翻。️ 第一步先搞清楚官方文档藏在哪这一节解决我该从哪个目录读起的问题。整个仓库的文档都在docs/docs/zh/下按用途分了四大块先看结构再决定路径能省下大量盲目搜索的时间。docs/docs/zh ├── about/ # 项目介绍、设计理念 ├── architecture/ # 架构设计去中心化、容错、负载均衡、元数据 ├── contribute/ # 贡献指南代码规范、提交约定、环境搭建 ├── guide/ # 核心使用手册最常读 │ ├── start/ # 快速上手docker.md、quick-start.md │ ├── installation/ # 部署standalone / pseudo-cluster / cluster / kubernetes │ ├── task/ # 30 任务类型逐个讲shell、spark、flink、http… │ ├── api/ # open-api.md、pydolphinscheduler.md、healthcheck.md │ ├── datasource/ # 数据源接入 │ ├── security/ # 安全中心、令牌 │ └── upgrade/ # 升级迁移 └── history-versions.md # 版本历史不同角色直接对号入座不用从头读到尾你更可能是优先读解决什么刚接触的新手guide/start/guide/task/部署 跑通第一个流程负责上线的运维guide/installation/architecture/选部署模式、理解组件关系做集成的开发guide/api/guide/security/拿 Token、调接口、用 SDK想改源码的贡献者contribute/ 各模块CLAUDE.md遵循提交与格式化约定小提示每个 Java 模块目录下都有一份CLAUDE.md如根目录CLAUDE.md是模块速查表读代码前先看它最省事。 五分钟跑通从部署到第一个工作流这一节解决先把它跑起来再说的问题。开发阶段首选 Standalone单机模式把 API/Master/Worker 全塞进一个 JVM或 Docker别一上来就搭集群。用 Docker 最快两条命令的事git clone https://gitcode.com/GitHub_Trending/dol/dolphinscheduler cd dolphinscheduler/deploy/docker docker-compose up -d起来后浏览器打开http://localhost:12345/dolphinscheduler/ui默认账号admin / dolphinscheduler123生产环境务必改掉。登录后按下面的顺序点一遍就是从 0 到跑通的完整链路这里要先分清三个最容易混的概念理解了后面就不会迷路用户User登录 Web UI 操作界面的人。租户Tenant任务真正的执行者对应 Worker 节点上的一个 Linux 用户用户必须被分配到某个租户才能跑任务没分配就落到默认租户default。项目 / 工作流 / 任务所有流程都必须挂在某个项目下工作流定义是可复用模板跑一次产生一个流程实例实例里每个节点是任务实例。界面长这样左侧是功能导航中间就是画 DAG 的画布 日常开发常用任务类型与参数覆盖这一节解决我的任务该选哪种类型、参数怎么传的问题。任务类型对应dolphinscheduler-task-plugin下的插件仓库里内置了 30 余种覆盖数据加工全流程。任务族代表类型典型用途脚本类shell、python、java、remoteshell轻量脚本、批处理、远程命令大数据类spark、flink、map-reduce、hive-cli、emrSpark/Flink 作业、MR、Hive同步类datax、seatunnel、sqoop、datasync异构数据源间搬数据计算/分析sql、jupyter、zeppelin、openmldb即席查询、Notebook控制类switch、conditions、dependent、sub-workflow、grpc分支、依赖、跨项目/跨工作流调度具体每种怎么配去docs/docs/zh/guide/task/下有逐个的 md 文件比如shell.md、python.md。两个最常用的脚本类示例都很短# Shell直接引用内置变量 echo Hello DolphinScheduler, task${task_id} echo run at ${datetime}# Python读取上游输出、写出结果 with open(input.txt) as f: data f.read() with open(output.txt, w) as f: f.write(data.upper())参数有个覆盖关系要记住同一变量在全局参数 → 项目参数 → 任务参数里层层覆盖越靠后优先级越高。配置时建议把稳定的放全局临时的放任务级别把同一个变量在三层都写一遍。 上线生产4 种部署模式与必改配置这一节解决该用哪种部署、上生产前要动哪些配置的问题。四种模式按规模从小到大排好对号选择部署模式文档适用场景说明Standaloneinstallation/standalone.md开发冒烟单 JVM 全组件内嵌 H2伪集群installation/pseudo-cluster.md功能验证单机多实例模拟集群集群installation/cluster.md生产主力Master/Worker 水平扩展Kubernetesinstallation/kubernetes.mddeploy/kubernetes/云原生Helm Chart弹性伸缩组件之间的关系与默认端口生产扩容时就照着这个图加节点Master/Worker/Alert 可水平扩API 无状态可放负载均衡后上生产前重点动这三处详见installation/general-setting.md与datasource-setting.md元数据库从 H2 换到独立部署的 MySQL/PostgreSQL开启主从备份。注册中心默认 ZooKeeper可选 Etcd / JDBC生产建议 3/5 节点集群。资源存储资源中心依赖storage-pluginS3/HDFS/OSS/GCS/OBS/COS/ABS确保 Worker 有读权限。 API 与集成用 Token 调接口这一节解决第三方系统怎么程序化操作的问题。页面能建的API 全能建流程是先拿 Token → 带 Token 调接口。登录 Web UI →安全中心 → 令牌管理设置失效时间与执行用户点生成令牌拷走 Token 字符串对应guide/api/open-api.md。打开 API 文档页http://{api-server}:12345/dolphinscheduler/swagger-ui/index.html?languagezh_CN。在 Postman 或 curl 里把请求头token填成刚生成的值即可。查项目列表这类读操作两条 curl 就够curl -H token: 你的Token \ http://{api-server}:12345/dolphinscheduler/projects/list更省心的是直接用官方 Python SDKPyDolphinSchedulerworkflow-as-code用 Python 代码定义工作流而不是拖界面说明在guide/api/pydolphinscheduler.mdfrom pydolphinscheduler import Workflow, Task # 以代码方式定义并提交工作流具体 API 以官方 SDK 文档为准第三方集成常见组合与 Zeppelin/Jupyter 打通做 Notebook 调度、与 BI 工具定时拉报表、通过dolphinscheduler-meter暴露的 Prometheus 指标接入监控。 排错高频问题与排查思路这一节解决出问题了先查哪儿的问题。按任务执行和集群运维两类整理照着现象对原因、对解法能少走很多弯路。类别现象高概率原因排查/处理任务执行状态卡在已提交不动Worker 未启动 / 对应任务插件缺失看 Worker 日志确认服务与插件是否加载任务执行Shell 报权限错误租户对应 Linux 用户不存在或无权限在 Worker 节点建租户用户并授权任务执行资源文件找不到资源中心存储配置错 / Worker 无读权限核对storage-plugin配置与目录权限任务执行变量没展开、结果空参数未在任一层级定义检查全局/项目/任务参数覆盖链集群运维Master 节点掉线后自动恢复Registry 临时节点消失触发容错属正常容错关注是否频繁抖动集群运维数据库连接池打满池上限偏低调大元数据库连接池maximum-pool-size集群运维Worker 离线ZK 会话超时过短适当调大注册中心会话超时集群运维定时调度不触发Quartz / Registry 异常检查 scheduler 插件与 Registry 状态排错顺序建议先看对应服务日志logs/目录→ 再对注册中心状态 → 最后查元数据库里的命令/任务行从现象往根因收敛别一上来就重启。 深入生态版本升级与社区入口这一节解决怎么升版本、去哪找人和资料的问题。版本历史在docs/docs/zh/history-versions.md升级流程在guide/upgrade/配套dolphinscheduler-tools提供 schema 升级 CLI。动作要点跨大版本升级必须跑 SQL 迁移脚本别只换二进制插件适配任务/数据源/存储插件需按新版本 API 重新编译配置核对拿新版示例配置和线上自定义配置逐项 diff避免漏项兼容性红线改extract-*RPC、dao实体、枚举值会波及已部署集群升级前评估社区与学习入口需要时直接找用户手册docs/docs/zh/guide/日常操作与配置都在这里。开发者文档docs/docs/zh/contribute/含提交规范[Type-ISSUE_ID][Scope]格式与./mvnw spotless:apply格式化约定。快速上手视频guide/start/quick-start.md内嵌了视频教程链接图文与视频两种走法。参与贡献从contribute/的 Issue 流程入口入手PR 需关联 Issue 且保持单模块小范围。 下一步行动今天就能做用deploy/docker/的 compose 拉起 Standalone把建租户 → 建项目 → 拖任务 → 上线跑一遍先建立肌肉记忆。本周做对照本文部署对比表选定生产模式按必改三处元数据库、注册中心、资源存储过一遍配置。需要集成时先在安全中心发一个 Token用两条 curl 把读接口调通再决定要不要上 PyDolphinScheduler 的 workflow-as-code。【免费下载链接】dolphinschedulerApache DolphinScheduler is the modern data orchestration platform. Agile to create high performance workflow with low-code项目地址: https://gitcode.com/GitHub_Trending/dol/dolphinscheduler创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考