10分钟跑通DolphinScheduler:拖拽编排分布式任务调度 📅 发布时间:2026/9/12 9:45:37 👁 浏览次数: 10分钟跑通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晚上10点跑了一半的ETL挂了没人知道第二天报表准时迟到。把散落各处的cron脚本挪进Apache DolphinScheduler这个分布式任务调度平台后任务依赖、失败重试、执行告警都在一张DAG画布上看得见谁负责跑、什么时候跑、挂了通知谁都有地方可查。它面向的就是数据团队和后端工程师用低代码的方式编排复杂工作流替代手写crontab加脚本的土法。DolphinScheduler 系统全景API、Master 与 Worker 各自干什么 先看一眼整体结构理解后文所有操作时你只需要分清四个角色UI、API、Master、Worker 核心组件关系项目所有工作流的归属容器权限和资源都挂在项目上。工作流DAG有向无环图任务按依赖关系先后执行画布上拖出来是什么样运行就是什么顺序。Master / WorkerMaster 负责拆分流程、派发任务Worker 负责真正执行。打个比方Master 是派活的工头Worker 是干活的工人工头挂了另有工头顶上。租户任务实际使用的 Linux 系统用户Worker 会以这个身份在服务器上跑你的脚本。多种任务类型按依赖关系组成的 DAG落地部署Standalone 镜像一条命令起服务 最快的体验路径是直接拉官方的 standalone-server 镜像它把 API、Master、Worker 塞进一个进程一条命令就能开跑。下面这段命令启动容器并映射 12345 端口把version换成你要安装的版本号DOLPHINSCHEDULER_VERSIONversion docker run --name dolphinscheduler-standalone-server \ -p 12345:12345 -d \ apache/dolphinscheduler-standalone-server:${DOLPHINSCHEDULER_VERSION}执行后你会看到容器进入 Running 状态稍等片刻访问http://localhost:12345/dolphinscheduler/ui就能打开登录页默认账号密码是admin/dolphinscheduler123。⚠️ 注意standalone 镜像用内存数据库 H2 存元数据容器一停数据就清空只适合体验功能别当生产镜像用。想要组件分离、元数据落盘的部署仓库里deploy/docker/docker-compose.yml已备好clone 仓库后进入该目录先docker-compose --profile schema up -d初始化数据库再docker-compose --profile all up -d拉起全部组件该 compose 文件会从同目录.env读取镜像仓库和版本变量缺少时用官方发行包里的 docker 目录补齐。大规模生产环境则用deploy/kubernetes/dolphinscheduler下的 Helm Chart 部署。核心场景从登录到跑通第一个 Shell 工作流 ️登录之后第一步不是建流程而是建租户。在左侧菜单进入「安全中心 → 租户管理」输入租户名比如ds_tenant系统会在 Linux 上创建对应的执行用户租户管理创建任务执行用户接着进「用户管理」把刚建的租户关联到 admin 账号。用户管理把租户分给 admin⚠️ 注意用户没关联租户时任务会落到默认租户 default 下、用程序启动用户执行想精确控制任务身份这一步别跳过。租户就位后到「项目管理」页面点「创建项目」起个名字比如demo_etl并把自己设为管理员。创建项目工作流的归属容器进入项目在「工作流定义」页点「创建工作流」会跳进 DAG 画布。把左侧工具栏的 Shell 任务拖到画布节点名填hello_ds脚本内容写echo Hello DolphinScheduler点右上角保存。再用同样方式拖出第二个 Shell 节点把鼠标从上游节点拖向下游节点一条带箭头的依赖线就建好了——这条线决定了两个任务的执行顺序。DAG 画布拖拽任务节点并建立依赖⚠️ 注意只有点「上线」的工作流才能运行画布上保存 ≠ 可执行这是新手最常漏掉的一步。回到工作流列表对新流程点「上线」再点「运行」并选一次补数日期默认当天即可工作流列表先上线、再运行切到「工作流实例」页能看到实例状态从「执行中」变为「成功」两个节点按依赖顺序依次跑完。想核对输出点开实例找到目标任务右键「查看日志」工作流实例查看执行状态日志里打印出Hello DolphinScheduler和你脚本里写的一致第一个流程就通了。任务日志核对脚本输出手动跑通后再给流程加个定时。在工作流配置里打开定时设置填 Quartz 风格的 CRON 表达式比如每天凌晨 2 点触发0 0 2 * * ?保存后工作流就会按这个周期自动生成实例补数和定时互不冲突定时配置拖拽设置 CRON 周期进阶调优插件、Worker 组与失败告警 ️现象启动 Worker 或跑任务时报ClassNotFoundException。3.3.0 起二进制包不再捆绑任务插件依赖缺哪个补哪个——在发行包目录执行bash bin/install-plugins.sh version安装插件依赖再按需修改conf/plugins_config里的--task-plugins--白名单只留你真正用到的任务类型比如dolphinscheduler-task-shell启动时就不会再加载无关插件。现象重任务和轻任务互相挤占Spark 作业一跑小 SQL 任务延迟明显。在「安全中心」里建独立的 Worker 组并把重任务项目绑定到该组项目级 Worker 组授权见「项目管理 → 权限」重活轻活分流到不同机器上执行互不拖后腿。现象任务半夜失败第二天开会才发现。到「告警中心」创建告警实例邮件、企业微信、钉钉、飞书等渠道各有插件再在工作流定义里给流程配上失败告警策略失败时按策略推送通知不用人肉盯实例列表。高频疑问这三个问题最卡人 ❓Qstandalone 镜像里建的工作流重启后不见了A正常现象它用内存 H2 库存元数据停容器即清空。需要留存数据改用 docker-compose 方式接 PostgreSQL。Q忘记默认账号密码了怎么进系统A默认账号admin密码dolphinscheduler123入口http://localhost:12345/dolphinscheduler/ui。Q任务想用特定 Linux 身份执行在哪设置A「安全中心 → 租户管理」建租户再到「用户管理」把租户分配给用户Worker 会以租户身份跑任务。DolphinScheduler 比较适合这种场景任务之间有明确依赖、需要定时或补数、执行环境是公司自有服务器上的大数据链路Hadoop、Spark、Flink、各类 SQL。反过来如果只是一两个互相独立的 crontab 小脚本或者任务必须跑在托管服务上不想自己管机器引入一套 Master/Worker 集群的开销就不划算了。想往下深入中文用户手册在 docs/docs/zh/guide/安装、任务类型、参数化都有分章任务插件的源码在 dolphinscheduler-task-plugin/ 下每个任务类型一个模块挑一个你常用的看看它是怎么被执行器的比看十篇介绍都直观。第一个Hello 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创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考