DolphinScheduler3.1.9二次开发环境配置实战指南

张开发
2026/4/6 8:19:35 15 分钟阅读

分享文章

DolphinScheduler3.1.9二次开发环境配置实战指南
1. 环境准备从零搭建开发环境第一次接触DolphinScheduler二次开发时我花了两天时间才把环境跑通。后来帮团队新人配置环境时发现很多坑其实可以避免。这里分享我的完整配置流程帮你节省时间。必备软件清单版本号很重要JDK 1.8.x实测3.1.9版本只能用JDK8我试过用JDK11启动会报错Maven 3.5建议用3.6.3版本太新的版本可能不兼容Node.js 16.13注意低于3.0的DS版本才需要Node12PNPM 6.x和Node一样有版本限制用7.x会报依赖错误MySQL 8.0.16推荐用8.0.28稳定版5.7会有字符集问题ZooKeeper 3.4.14最新版可能有兼容性问题安装完这些后记得配置环境变量。我遇到过最典型的问题就是Maven仓库权限不足建议在命令行跑mvn -v java -version node -v pnpm -v确认所有版本号正确再继续。2. 项目初始化与配置2.1 用IDEA导入项目从GitHub克隆代码后不要直接打开文件夹。我推荐的操作是在IDEA中选择Open → 找到项目中的pom.xml → 选择Open as Project等待Maven自动下载依赖首次可能较慢打开.idea/workspace.xml在PropertiesComponent区块添加property namedynamic.classpath valuetrue /这个配置能解决IDEA找不到类的问题。2.2 ZooKeeper配置很多教程会漏掉这步导致后面服务起不来# 解压后执行 mkdir Data cp conf/zoo_sample.cfg conf/zoo.cfg用文本编辑器修改zoo.cfgdataDir/你的路径/zookeeper-3.4.14/Data启动测试bin/zkServer.sh start telnet 127.0.0.1 2181 # 看到Welcome说明成功3. 数据库配置实战3.1 MySQL专项设置创建数据库时一定要执行CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;然后修改dolphinscheduler-bom/pom.xml!-- 找到mysql依赖 -- dependency groupIdmysql/groupId artifactIdmysql-connector-java/artifactId scopecompile/scope !-- 原为test -- /dependency记得点Maven的刷新按钮我有次忘了刷新排查了半天404错误。3.2 初始化数据库执行sql/dolphinscheduler_mysql.sql时有个技巧mysql -uroot -p dolphinscheduler sql/dolphinscheduler_mysql.sql比手动复制粘贴更可靠。完成后建议检查表数量SELECT COUNT(*) FROM information_schema.tables WHERE table_schema dolphinscheduler;正常应该有80张左右表。4. 核心服务配置4.1 修改YAML配置以dolphinscheduler-api/src/main/resources/application.yaml为例spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/dolphinscheduler?useUnicodetruecharacterEncodingUTF-8 username: root password: 你的密码注意所有服务的配置都要改包括dolphinscheduler-alertdolphinscheduler-masterdolphinscheduler-worker4.2 日志级别调整在logback-spring.xml中建议这样改root levelINFO appender-ref refSTDOUT/ appender-ref refFILE/ /root !-- 添加这个能看详细SQL -- logger nameorg.apache.dolphinscheduler.dao levelDEBUG/调试完成后记得改回INFO级别否则日志量会爆炸。5. 前端工程配置5.1 处理依赖冲突打开dolphinscheduler-ui/package.json{ dependencies: { vue: 2.6.14, // 去掉^符号 vue-router: 3.5.1 } }然后执行pnpm install --frozen-lockfile我遇到过因为锁文件不一致导致的诡异白屏问题。5.2 启动前端服务推荐用这种方式启动pnpm run dev浏览器访问http://localhost:5173时如果出现接口404检查.env.development中的代理配置VITE_APP_DEV_URLhttp://localhost:123456. 后端服务启动技巧6.1 MasterServer配置在IDEA中创建启动配置Main class: org.apache.dolphinscheduler.server.master.MasterServer VM options: -Dlogging.configclasspath:logback-spring.xml -Ddruid.mysql.usePingMethodfalse -Dspring.profiles.activemysql6.2 WorkerServer特殊参数除了基础配置建议添加-Dworker.groupsdefault -Dalert.listen.hostlocalhost否则任务可能卡在等待资源状态。6.3 ApiServer常见问题如果启动报错Table qrtz_blob_triggers doesnt exist是因为Quartz表没初始化。解决方法USE dolphinscheduler; SOURCE sql/quartz_mysql.sql;7. 验证与调试启动所有服务后打开浏览器访问前端页面。首次登录用账号: admin 密码: dolphinscheduler123在监控中心应该能看到Master和Worker状态为正常Zookeeper连接显示已连接数据库连接无告警如果遇到页面卡顿可以查看各服务的日志文件tail -f dolphinscheduler-master/logs/dolphinscheduler-master.log

更多文章