用 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每天凌晨 2 点要把业务库的订单表同步进 Hive这个活我上周用 DolphinScheduler 跑了一遍拉个容器起服务建一个数据源画一条两节点的工作流手动触发跑通。整个过程不到半小时失败重试和定时调度都是现成的。这篇按我实际操作的顺序写你照着点就能复现。跑通第一条最小链路部署走 Docker最快的一条路git clone https://gitcode.com/GitHub_Trending/dol/dolphinscheduler cd dolphinscheduler/deploy/docker docker-compose up -d起来之后浏览器打开http://localhost:12345默认账号admin/dolphinscheduler123。先别急着画流程进项目在「资源中心 - 数据源管理」里建一个 MySQL 数据源填好地址、库名、账号密码点测试连接通了再保存。然后到「工作流 - 工作流定义」新建工作流把左侧面板里的 Shell 和 SQL 两个节点拖进画布连线保存。第一个 Shell 节点就写一句date /tmp/etl_ok.txtSQL 节点选你刚建的数据源跑一句SELECT 1;。点运行状态列里两个节点变绿链路就通了。到这一步你要知道的就是三件事数据源建在哪、节点怎么拖、运行按钮在哪。原理后面再拆。DAG 依赖与失败重试怎么配把链路跑通后值得花十分钟搞懂一件事上游挂了下游到底怎么办。在 DAG 里只有上游节点终态为成功下游才会被调度。如果某个节点执行失败调度器会先按该节点自己配的「失败重试次数」重新提交任务每次重提交之间隔「失败重试间隔」的时间。注意是重试这个节点本身不是把整条工作流从头再跑。一旦重试次数耗尽还是失败这个节点就定在失败态它的下游节点不会再启动直接标记为失败整条工作流停止。这两个配置项就在每个节点的「当前节点设置」面板里跟着 Driver 核数、内存那些资源参数排在一起可以下拉选也可以手填。比如一个 DataX 抽取节点配「重试 3 次、间隔 2 分钟」它的实际语义是首次失败后 2 分钟再来一次最多多来 3 次总共最多执行 4 次。配的时候建议想清楚间隔给多大——如果失败原因是数据源抖动间隔太短等于白重试如果是脚本 bug重试 10 次也只是把告警延迟 10 次。容易踩的坑坑一连接串里写CST调度时间莫名偏移现象任务定时触发的时刻和预期差了几小时或者跑出来的数据分区日期不对。原因CST这种缩写时区标识符在不同环境会解析成不同时区MySQL 驱动尤其敏感。处理连接串里显式写serverTimezoneAsia/Shanghai这类完整标识。jdbc:mysql://host:3306/db?serverTimezoneAsia/Shanghai坑二worker 容器连不上业务库任务卡到超时现象任务长时间 RUNNING 后报超时或连接失败手动在容器里ping库也通不了。原因worker 跑在 Docker 网络里走的是容器网段的 IP 和 DNS宿主机能通不代表容器能通。处理在容器内测试连通性业务库侧放行 worker 容器所在网段的 IP。坑三服务时区是 UTC界面看的时间是本地时间现象同一个任务监控里显示的执行时间和你心里的几点跑的对不上。原因服务默认时区为 UTC界面时区可以单独切两边不一致时看日志会晕。处理启动前用环境变量统一比如export SPRING_JACKSON_TIME_ZONEAsia/Shanghai界面右上角的时区按钮也切到同一值。从 Demo 到生产三条最小改动都不涉及架构变更资源隔离给同步链路的任务指定独立队列和租户避免大查询把实时小任务挤死。告警通道在「告警」页配一个渠道绑定到工作流上节点终态为失败就推送别等第二天早上翻日志。监控面板把 Grafana 里的 Worker 面板挂出来提交队列、运行中任务数、成功率三块就够日常看。延伸看两处就够内置时间参数语法在 docs/docs/zh/guide/parameter/built-in.md任务字段逐项说明在 docs/docs/zh/guide/task/appendix.md。数据源时区的细节参考 docs/docs/zh/guide/installation/datasource-setting.md。下一步建议拿你手上真实的一条同步需求把 Demo 里那两个占位节点换成真任务。【免费下载链接】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),仅供参考