从零开始:Apache DolphinScheduler单机快速部署指南

张开发
2026/4/6 15:51:39 15 分钟阅读

分享文章

从零开始:Apache DolphinScheduler单机快速部署指南
1. 环境准备5分钟搞定基础配置刚接触Apache DolphinScheduler时我最头疼的就是环境配置。经过多次实践我总结出一套最简化的准备工作流程。首先确保你的机器满足以下条件操作系统主流Linux发行版CentOS 7或Ubuntu 18.04内存至少4GB实测2GB会频繁OOM磁盘空间20GB以上可用空间必装组件清单附避坑指南# 1. JDK 1.8推荐OpenJDK sudo yum install -y java-1.8.0-openjdk-devel # CentOS sudo apt-get install -y openjdk-8-jdk # Ubuntu # 验证安装 java -version # 应该显示1.8.x # 2. 数据库二选一MySQL更推荐 # MySQL 5.7安装注意避开8.0默认密码策略问题 wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm sudo rpm -ivh mysql57-community-release-el7-11.noarch.rpm sudo yum install -y mysql-community-server # 3. Python 3.6注意要装pip sudo yum install -y python3 python3-pip # CentOS我遇到过最坑的问题是MySQL 8.0的密码策略建议新手直接用MySQL 5.7。曾经有次部署时因为密码复杂度不够数据库初始化脚本直接报错折腾了半天才发现是这个原因。2. 安装部署新手友好版全流程2.1 二进制包获取与解压官方下载经常很慢推荐用国内镜像wget https://mirrors.tuna.tsinghua.edu.cn/apache/dolphinscheduler/3.3.2/apache-dolphinscheduler-3.3.2-bin.tar.gz tar -zxvf apache-dolphinscheduler-3.3.2-bin.tar.gz -C /opt cd /opt/apache-dolphinscheduler-3.3.2-bin2.2 数据库配置MySQL示例CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8mb4; CREATE USER ds_user% IDENTIFIED BY Dolphin123; GRANT ALL PRIVILEGES ON dolphinscheduler.* TO ds_user%; FLUSH PRIVILEGES;2.3 配置文件修改关键项找到conf/application.yaml主要修改这些部分spring: datasource: url: jdbc:mysql://localhost:3306/dolphinscheduler?useUnicodetruecharacterEncodingUTF-8 username: ds_user password: Dolphin123避坑提示如果遇到The server timezone is unrecognized错误在JDBC URL后加上serverTimezoneAsia/Shanghai3. 服务启动与验证3.1 一键启动姿势# 首次启动建议前台运行看日志 bash bin/dolphinscheduler-daemon.sh start standalone-server # 查看实时日志CtrlC退出 tail -f standalone-server/logs/dolphinscheduler-standalone.log3.2 健康检查三连进程检查jps | grep StandaloneServer # 应该能看到进程端口检查netstat -tlnp | grep 12345 # 默认API端口Web UI访问 浏览器打开http://服务器IP:12345/dolphinscheduler/ui默认账号admin/dolphinscheduler123常见启动失败排查端口冲突修改conf/application.yaml中的server.port数据库连接失败检查MySQL是否允许远程连接内存不足修改bin/env/dolphinscheduler_env.sh中的JVM参数4. 第一个工作流实战通过一个真实案例演示基础操作创建项目Web UI - 项目管理 - 创建项目定义工作流添加Shell任务节点echo Hello DolphinScheduler /tmp/demo.log添加SQL任务节点需先配置数据源SELECT COUNT(*) FROM your_table定时设置配置每分钟执行一次上线运行点击上线按钮后立即生效调试技巧任务失败时直接点击节点查看详细日志复杂工作流建议先设置失败告警邮箱资源不足时worker节点会出现任务堆积5. 性能优化与日常维护5.1 单机版调优参数修改standalone-server/conf/application.yamlspring: quartz: properties: org.quartz.threadPool.threadCount: 10 # 根据CPU核数调整5.2 日志管理方案# 日志自动归档脚本加入crontab find /opt/dolphinscheduler/logs -name *.log -mtime 7 -exec gzip {} \;5.3 备份策略元数据备份定期导出MySQL资源文件备份默认在/tmp/dolphinscheduler工作流导出Web UI支持JSON导出6. 常见问题解决方案问题1启动时报Table dolphinscheduler.xxx doesnt exist解决执行bash tools/bin/upgrade-schema.sh初始化数据库问题2任务一直处于提交成功状态解决检查worker服务是否正常启动网络是否通畅问题3Web UI卡顿解决调整Nginx配置增加client_max_body_size 1024m记得第一次部署时我因为没看日志直接瞎操作结果把Zookeeper搞崩了。后来养成了个好习惯所有操作前先tail -f 日志文件实时监控系统状态。

更多文章