ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

DolphinScheduler 上手指南:从零部署到跑通第一个工作流

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/dolphinscheduler如果你每天被脚本 A 跑完才能跑脚本 B这类依赖关系折磨DolphinScheduler 值得花半小时试试。它是一个 Apache 旗下的分布式工作流调度平台靠拖拽画布就能把一堆 Shell、SQL、Spark 任务串成图定时自动执行。这篇 DolphinScheduler 入门指南会带你完成部署、跑通第一个工作流并讲清楚项目、租户、实例这几个最容易懵的概念读完你就能独立搭一套自己的调度环境。30 秒认识 DolphinScheduler一句话定位它是数据任务的流水线排班表你在网页上画好任务之间的先后关系它负责按时、按序、可重跑地把它们执行完。几个真正有说服力的点画布编排任务是拖拽出来的依赖关系是连线画出来的改流程不用改代码任务类型多内置 30 多种任务Shell、SQL、Spark、Flink、HTTP、数据同步等覆盖数据处理全流程去中心化架构没有单点主节点Master 和 Worker 都可以多台坏一台自动接管多租户任务实际以哪个 Linux 用户身份执行是可配置的多团队共用一套系统也不乱下面是它的主页能直接看到项目概览和工作流实例的运行状态部署怎么选按你的场景定先问自己一个问题这套环境是拿来试水还是拿来干活只想体验一下、看看界面长什么样—— 用 standalone 单容器一条命令起服务但注意它用内存数据库容器一停数据就没了不适合存任何正式数据。docker run -d -p 12345:12345 -p 25333:25333 \ --name dolphinscheduler-standalone-server \ apache/dolphinscheduler-standalone-server:版本团队试用、想体验完整功能—— 用仓库里的 docker-compose 方案deploy/docker/它会连同 PostgreSQL 和 ZooKeeper 一起拉起服务拆成独立容器重启不丢数据。首次使用建议先指定 schema profile 初始化数据库结构再用 all profile 启动全部服务具体步骤见 Docker 快速使用教程。生产环境—— 三台以上机器做集群或者用官方 Helm Chart 部署到 K8sdeploy/kubernetes/。生产上数据库和 ZooKeeper 建议独立部署Master 至少两台起步Worker 按任务量横向扩。机器配置上试用阶段 4 核 8G 够跑生产按任务量给到单节点 8 核 16G 起步比较稳妥。十分钟跑通第一个工作流假设你已经按上面的方式把服务跑起来了接下来走最短路径。打开浏览器访问http://localhost:12345/dolphinscheduler/ui默认账号admin/ 密码dolphinscheduler123。第 1 步建租户并分配给自己。去安全中心 → 租户管理新建一个租户再到用户管理把它分给 admin。租户决定了任务在服务器上以哪个 Linux 用户身份执行没有它任务跑不动不配的话会落到默认租户 default用程序启动用户执行容易出权限问题。第 2 步建项目。在项目管理里点创建项目起个名字就行。所有工作流都必须挂在某个项目下。第 3 步建工作流。进入项目 → 工作流定义 → 创建工作流你会进入一个画布页左边是任务列表。第 4 步拖两个 Shell 任务。从工具栏把 Shell 节点拖进画布填上节点名称和一条简单命令比如打印一行文字保存。再建第二个节点同样操作。第 5 步连线并上线。用鼠标从上游任务的箭头拖到下游任务上两个节点之间出现连线就表示依赖关系建立。然后保存工作流记得填名字回到工作流列表点上线。第 6 步运行并看日志。点运行去工作流实例页面能看到状态变成执行中点进实例右键某个任务选查看日志看到你的命令输出就全链路通了。卡住了不用慌官方图文版步骤和这段一一对应快速上手教程。核心概念扫盲项目、租户、实例跑完上面流程有三个词你已经碰过了这里一次讲透。项目相当于一个文件夹。工作流、资源文件、告警组都归属项目是权限控制的基本单位。团队之间用项目隔离比都丢一个大杂烩里干净得多。租户相当于干活用的工牌。网页上登录的账号是用户但任务真正在服务器执行时需要以某个 Linux 用户身份跑——这就是租户。你可以理解为用户负责点按钮租户负责动手干活两者解耦后多团队共用一套调度系统时不会互相越权。定义和实例相当于菜谱和那一顿饭。工作流定义是画好的流程模板可以反复修改、版本化每触发一次运行就生成一个工作流实例每个任务也各自生成任务实例。你排查问题时看的日志、状态都是实例层面的而不是定义层面的——所以流程没问题但这次跑失败了这类现象本质就是定义和实例的区别。进阶玩法挑三个最实用的场景深入定时调度让流程自己按时跑。工作流定义里可以直接配 CRON 表达式并上线到点系统自动触发。建议调度粒度别细过分钟级秒级调度对数据库压力很大。另外它原生支持补数——某天的数据漏跑了按日期区间回填就行不用手工逐个触发。参数传递让任务之间能说话。参数有六个来源内置、项目级、全局、启动、本地、上游任务传递。同名时生效顺序是上游传递 启动参数 本地参数 全局参数 项目级 内置。实用技巧上游任务把结果写成输出OUT参数下游直接用${变量名}接收比如上游查询出一张表名下游 SQL 任务直接引用省掉大量硬编码。规则细节见 参数优先级文档。API 和 Python SDK把调度接进你的代码。系统自带 Open API登录后可在 Web UI 访问 Swagger 界面调试先在安全中心生成 Token然后就能用 curl 或 SDK 调接口创建项目、提交工作流。Python 场景下官方有 pydolphinscheduler SDK用with Project() / with Workflow()的写法声明式地定义流程再提交适合把工作流随代码一起版本管理。API 细节参考 API 文档目录。卡住了怎么办三个高频问题现象任务状态停在提交成功一直不动。大概率是 Worker 没起来或没注册成功。先确认 Worker 进程在跑再到监控页面看 Worker 列表里有没有在线节点容器部署的话检查容器是否都通过健康检查。现象Shell 任务报权限错误。租户对应的 Linux 用户在执行机器上不存在或者没有写目标目录的权限。去执行任务的机器上创建同名用户把资源目录的读写权限给到它。Docker 环境里还要注意容器内用户和挂载目录的归属关系。现象资源文件在 Worker 上找不到。你上传的资源在 HDFS 或 S3 上但 Worker 没有访问权限或者资源中心配置指向了另一套存储。核对conf下的存储配置本地 / HDFS / S3 三选一确认 Worker 所在机器有权限读。监控页面本身就能解决一半的问题Master、Worker、数据库状态和资源负载一目了然不用登机器。继续深入去哪儿找答案仓库里的中文文档组织得很清晰按下面的顺序翻基本不会迷路部署相关单机、伪集群、集群、Kubernetes 四种方式各有专文都在 docs/docs/zh/guide/installation/任务类型每种任务的配置项、参数说明独立成篇目录在 docs/docs/zh/guide/task/用到哪个查哪个安全与告警租户、权限、多渠道告警配置在 docs/docs/zh/guide/security/ 和 docs/docs/zh/guide/alert/版本升级跨版本升级注意事项见 docs/docs/zh/guide/upgrade/想参与贡献docs/docs/zh/contribute/ 里有代码规范和新人指南部署跑通之后建议接着把官方指南里任务类型那一章过一遍——挑一个你真实业务里的任务比如 SQL 或 Shell把它配成定时调度并加上失败告警这一步做完这套系统就算真正开始替你干活了。【免费下载链接】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),仅供参考
返回列表