ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

Apache DolphinScheduler 可视化工作流调度:十分钟部署跑通一条稳定 ETL 管道

2026/9/12 16:59:01 拓冰建站 浏览量
Apache DolphinScheduler 可视化工作流调度:十分钟部署跑通一条稳定 ETL 管道 Apache DolphinScheduler 可视化工作流调度十分钟部署跑通一条稳定 ETL 管道【免费下载链接】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 工作流可视化编排、定时 ETL、监控告警一次覆盖适合想让调度平台尽快跑起来的开发者和数据工程师。一、Docker Compose 极速部署 DolphinScheduler官方 compose 文件把 PostgreSQL、ZooKeeper、API、Master、Worker、告警服务全部带齐。先克隆仓库再初始化数据库表结构最后拉起全部服务TAG 换成镜像仓库中任意已发布的 release 标签git clone https://gitcode.com/GitHub_Trending/dol/dolphinscheduler cd dolphinscheduler/deploy/docker TAGrelease-tag docker compose --profile schema up TAGrelease-tag docker compose --profile all up -d验证是否装好请求 API 健康检查端点curl http://localhost:12345/dolphinscheduler/actuator/health返回正常后浏览器打开http://localhost:12345/dolphinscheduler/ui默认账号admin / dolphinscheduler123登录看到下面的控制台即部署成功。二、DolphinScheduler 任务调度架构速览与核心概念UI 与 API 是无状态入口Master 负责把 DAG 拆成任务命令并下发Worker 负责真正拉起任务进程ZooKeeper 负责服务注册与分布式协调Alert Server 负责告警投递。五类服务都能独立水平扩容。概念一句话解释工作流定义拖拽任务节点拼出的 DAG描述跑哪些任务、按什么顺序工作流实例一次定义的执行可手动触发、CRON 定时或补数生成任务实例实例中单个任务的运行记录有独立状态与日志租户任务的实际执行者对应 Linux 用户Worker 以该用户身份提交进程Worker 分组一组 Worker 构成的资源池工作流可绑定指定分组执行实现资源隔离三、DAG 工作流编排实操日志清洗入库加告警场景就一个每天凌晨 2 点清洗当天 Nginx 日志结果写入 MySQL失败就发告警。创建租户并分配给用户安全中心 → 租户管理 新建租户etl再到用户管理页把该租户分配给工作流负责人。创建项目上一步完成后进入项目管理页新建项目log-etl。所有工作流必须挂在项目下项目是权限隔离的基本单位。添加 Shell 与 SQL 任务项目内的工作流定义页点击创建工作流从左侧工具栏拖两个节点到画布Shell 任务跑清洗脚本SQL 任务写库后者需要先在数据源页建好 MySQL 连接配置任务依赖用连线把 Shell 接到 SQL 上保证清洗成功后才写库再给工作流设置定时0 0 2 * * ? *即每天凌晨 2 点上线运行并查看日志保存定义后点上线再运行工作流实例页能看到两个任务依次变绿点进任务实例即可查看完整 stdout 日志四、关键配置与调优线程数、过载保护、派发超时线上踩的坑基本都在配置里。最高频被问的三项配置项默认值建议值为什么这么改Workertask-executor-thread-sizeworker 配置100机器核数 × 4默认 100 面向高配机小机器线程开太多只会烧在上下文切换上任务反而更慢Mastermax-concurrent-workflow-instancesmaster 配置无上限200实例数暴增时 Master 会被拖垮设上限让它报忙新实例转派其他节点Masterdispatch-timeout-enabled/max-task-dispatch-duration关闭 / 1h开启 / 30m任务派发不到 Worker 会一直干等开启超时后实例判失败重试与告警流程才会触发如果确有跑得很久的 T1 大任务把max-task-instance-runtime设成预期时长默认0d不限制失控任务会永久占着 Worker 的槽位。五、高频踩坑与快速排障容器刚启动页面 500 或健康检查不过原因schema 没先初始化API 连的是空库。解法全新环境必须先跑--profile schema那条命令等它执行完再拉全套服务。工作流实例一直停在等待派发如果 Master 日志反复出现任务未派发的记录大概率是 Worker 不在工作流指定的 worker-group 里或 Worker 连不上注册中心。核对 Worker 的 registry 连接串与分组名确认工作流绑定的分组正确。任务运行报租户用户不存在或权限拒绝原因租户没建或没分配给执行用户。解法安全中心建租户并分配给用户Worker 的auto-create-tenant-enabled虽支持首次运行自动建租户仍建议提前建好。容器重启后历史数据全丢原因PostgreSQL 和 ZooKeeper 的卷没持久化。解法检查 compose 的 volumes 是否挂到命名卷并对元数据库做定期备份。六、进阶方向与生态集成任务插件DolphinScheduler 的任务类型全部是插件形态实现一套接口就能把内部服务封装成自定义任务挂上 DAG见 dolphinscheduler-task-plugin/。数据源插件内置 MySQL、Hive 等 30 余种新数据源按同一接口实现即可接入 SQL 任务见 dolphinscheduler-datasource-plugin/。Open API 接 CI/CDAPI 服务暴露完整 REST 接口流水线里提交一次工作流就能让发布动作纳入定时调度见 dolphinscheduler-api/。资源导航官方文档docs/docs/zh/核心源码调度核心 dolphinscheduler-master/执行核心 dolphinscheduler-worker/社区与贡献Issue、邮件列表入口见 docs/docs/zh/contribute/打开终端跑起来比看十篇文档都管用。【免费下载链接】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),仅供参考