DolphinScheduler 3.1.5单机部署需严守三关键:MySQL 8强密码策略须处理(改密码或临时调低策略)、驱动jar必须复制到各服务libs目录(master/worker/api/alert/standalone)、权限需同时授予'%'和'localhost'用户并FLUSH PRIVILEGES。

直接装 dolphinscheduler-3.1.5 没问题,但别跳步骤——尤其 MySQL 驱动没放对位置、用户权限没开全、install_config.conf 里 ZooKeeper 地址写错,这三处占了 80% 的启动失败案例。
MySQL 用户权限和密码策略必须提前处理
用 CREATE USER 'dolphinscheduler'@'%' IDENTIFIED BY '123456' 很容易报 ERROR 1819 (HY000): Your password does not satisfy the current policy requirements。这不是 DolphinScheduler 的锅,是 MySQL 8 默认启用了强密码策略。
- 要么改密码:用大小写字母 + 数字 + 符号,长度 ≥ 8
- 要么临时关策略(仅测试环境):
SET GLOBAL validate_password_policy=0;和SET GLOBAL validate_password_length=4; - 别漏掉 localhost 用户:DolphinScheduler 初始化脚本有时会走本地连接,所以还得补一句
GRANT ALL ON dolphinscheduler.* TO 'dolphinscheduler'@'localhost'; - 执行完
FLUSH PRIVILEGES;,再验证:用mysql -udolphinscheduler -p123456 -h127.0.0.1 -P3306 -Ddolphinscheduler能连上才算过关
MySQL 驱动 jar 必须复制到每个服务的 libs 目录
很多人只往 lib/ 放一个 mysql-connector-java-8.0.x.jar,结果 master-server 启得起来,worker-server 报 ClassNotFoundException。因为从 3.1.x 开始,各模块已拆成独立 JVM 进程,各自加载自己的 classpath。
- 确认驱动版本兼容:MySQL 8 推荐用
mysql-connector-java-8.0.33.jar(别用 5.x 的) - 必须复制到以下路径(缺一不可):
master-server/libs/、worker-server/libs/、api-server/libs/、alert-server/libs/、standalone-server/libs/ - 检查方式:进每个目录执行
ls -l *.jar | grep mysql,确保输出不为空
单机部署别硬套集群脚本,用 standalone 更稳
如果你只是想本地跑通、验证 DAG 流程、写几个 Shell 或 SQL 任务,standalone-server 是唯一推荐路径。它内置 H2 + 内置 ZooKeeper,省去所有外部依赖配置。
- 解压后直接运行:
bin/dolphinscheduler-daemon.sh start standalone-server - 日志看
logs/standalone-server.out,而不是翻一堆 master/worker 日志 - Web 访问地址是
http://localhost:12345/dolphinscheduler/ui(注意结尾有/ui,不是根路径) - 默认账号密码是
admin/dolphinscheduler123,首次登录后强制改密
真要上生产集群,install.sh 脚本看似一键,实则对 install_config.conf 中的 zk_quorum、ds_master_hosts、ds_worker_hosts 格式极其敏感——多一个空格、少一个引号、IP 写成主机名没配 hosts,都会卡在“初始化成功但服务起不来”的状态。这时候别猜,先查 logs/master-server.log 里第一行 ERROR。


















