(解决小白认知痛点)

环境准备
最低配置(开发环境)JDK 8+ MySQL 5.7+ Zookeeper 3.8+
Docker一键启动(避坑推荐)
docker run -d --name dolphinscheduler \ -e DATABASE_TYPE=mysql \ -e SPRING_DATASOURCE_URL="jdbc:mysql://localhost:3306/ds?useUnicode=true&characterEncoding=UTF-8" \ -e SPRING_DATASOURCE_USERNAME=root \ -p 12345:12345 \ apache/dolphinscheduler:3.2.0

场景:每日用户行为分析
步骤1:登录控制台
http://localhost:12345/dolphinscheduler (默认账号admin/dolphinscheduler123)
步骤2:创建工作流

步骤3:配置Shell任务(关键代码)
shell#!/bin/bash# 参数自动注入示例spark-submit \ --master yarn \ --name behavior_analysis_${sys_date} \ # 系统动态参数 /opt/jobs/user_analysis.py ${begin_date} ${end_date}步骤4:设置调度策略
cron0 2 * * * # 每天凌晨2点执行(支持Quartz表达式)
1. 参数透传(跨任务传值)
python# 在Python节点中获取上游输出context.getUpstreamOutParam('uv_count')失败自动重试
yaml
# workflow定义片段task_retry_interval: 300 # 5分钟重试retry_times: 3 # 最多重试3次
3. 条件分支(动态路由)
shell
# 根据日期判断是否周末if [ ${week} -gt 5 ]; then echo "skip weekend processing" exit 0 fi1. 资源错配:Spark任务内存溢出 → 在conf/worker.properties调整:
properties
worker.worker.task.resource.limit=true worker.worker.task.memory.max=8g # 根据集群配置调整
2. 时区陷阱:定时任务延迟8小时 → 修改common.properties:
properties
spring.jackson.time-zone=GMT+8
DolphinScheduler正成为大数据调度领域的事实标准,其云原生架构和操作友好的界面,让开发者从繁琐的流程管控中解放出来。建议初学者从本文示例出发,逐步探索其跨集群任务分发、K8s集成等高级能力。

原文链接:https://blog.csdn.net/2501_91980039/article/details/148811445
