CentOS 7 使用 Docker 部署 DolphinScheduler 3.2.2 完整教程
- 一、目标
- 本教程最终部署组件:
- 二、虚拟机配置建议
- 1. 推荐配置
- 三、VMware 网络配置
- 1. 网络模式
- 2. NAT 模式为什么需要端口转发
- 3. 配置 VMware NAT 端口转发
- 四、CentOS 7 初始化
- 1. 查看系统版本
- 五、替换 CentOS 7 yum 源
- 1. 为什么要替换 yum 源
- 2. 备份原 yum 源
- 3. 创建阿里云 CentOS 7 Vault 源
- 4. 创建 EPEL 源
- 5. 清理并生成缓存
- 6. 验证 yum 源
- 六、安装基础工具
- 七、关闭防火墙和 SELinux
- 1. 关闭防火墙
- 2. 关闭 SELinux
- 八、安装 Docker
- 1. 安装依赖
- 2. 添加 Docker 阿里云 yum 源
- 3. 安装 Docker
- 4. 启动 Docker
- 5. 检查 Docker
- 九、安装 Docker Compose
- 1. 安装 Compose 插件目录
- 2. 下载 Docker Compose
- 3. 授权
- 4. 检查版本
- 十、配置 Docker 镜像加速
- 1. 编辑 daemon.json
- 2. 重启 Docker
- 3. 检查是否生效
- 十一、Docker pull 超时问题处理
- 1. 常见错误
- 2. 原因
- 3. Astrill 代理解决方案
- 4. 配置 Docker 使用 Astrill 代理
- 5. 拉取镜像
- 十二、创建部署目录
- 十三、下载 MySQL JDBC 驱动
- 1. 进入驱动目录
- 2. 下载 MySQL Connector/J
- 3. 检查文件
- 十四、MySQL 驱动挂载位置注意事项
- 十五、编写最终 docker-compose.yml
- 十六、启动 DolphinScheduler
- 1. 关闭旧容器
- 2. 启动 MySQL 和 Zookeeper
- 3. 初始化数据库
- 4. 检查数据库表
- 5. 启动 DolphinScheduler 服务
- 6. 查看容器状态
- 十七、验证 API 是否启动成功
- 1. 查看 API 日志
- 2. 虚拟机内部测试
- 十八、Windows 访问 DolphinScheduler UI
- 十九、常见问题与解决方案
- 1. yum install 失败
- 2. docker pull 超时
- 3. ping Google 不通
- 4. UI 返回 Empty reply from server
- 5. API 使用 PostgreSQL 驱动连接 MySQL
- 6. MySQL 驱动找不到
- 7. 数据库没有初始化
- 8. Windows 浏览器打不开 UI
- 二十、常用维护命令
- 查看容器
- 查看 API 日志
- 查看 Master 日志
- 查看 Worker 日志
- 查看 MySQL 日志
- 重启 API
- 重启全部服务
- 停止全部服务
- 启动全部服务
- 检查数据库表
- 检查 MySQL 驱动是否挂载
- 检查 UI
- 二十一、最终成功标准
- 1. API 日志成功
- 2. UI 返回 200
- 3. Windows 浏览器可访问
- 二十二、后续离线数仓目录规划
- 二十三、核心经验总结
一、目标
本文档记录在 VMware 虚拟机 CentOS 7 环境中,通过 Docker Compose 部署 Apache DolphinScheduler 3.2.2 的完整过程。
本教程最终部署组件:
- Docker
- Docker Compose
- MySQL 8.0
- Zookeeper 3.8
- DolphinScheduler API
- DolphinScheduler Master
- DolphinScheduler Worker
- DolphinScheduler Alert
- DolphinScheduler Tools
- MySQL JDBC Driver
最终项目访问地址:
http://127.0.0.1:12345/dolphinscheduler/ui
二、虚拟机配置建议
1. 推荐配置
建议 VMware 虚拟机配置:
CPU:4 核 内存:8GB 磁盘:100GB 系统:CentOS 7.9 网络:NAT 模式DolphinScheduler 启动后会同时运行多个容器:
MySQL Zookeeper DolphinScheduler API DolphinScheduler Master DolphinScheduler Worker DolphinScheduler Alert DolphinScheduler Tools如果虚拟机配置过低,例如 1 核 4GB,API 启动会非常慢。
三、VMware 网络配置
1. 网络模式
本教程使用 VMware NAT 模式。
VMware 虚拟网络编辑器中:
VMnet8:NAT 模式 子网:192.168.189.0 网关:192.168.189.1虚拟机启动后,在 CentOS 中查看 IP:
ipaddr示例结果:
inet 192.168.189.100/24说明当前虚拟机 IP 是:
192.168.189.1002. NAT 模式为什么需要端口转发
NAT 模式下:
虚拟机可以访问外网 宿主机不一定能直接访问虚拟机内部端口DolphinScheduler UI 运行在虚拟机的12345端口,所以需要在 VMware NAT 设置里做端口转发。
3. 配置 VMware NAT 端口转发
打开:
VMware ↓ 编辑 ↓ 虚拟网络编辑器 ↓ VMnet8 ↓ NAT 设置 ↓ 添加端口转发添加规则:
主机端口:12345 类型:TCP 虚拟机 IP:192.168.189.100 虚拟机端口:12345 描述:dolphinscheduler-ui注意:
类型必须选择 TCP保存后,在 Windows 管理员 CMD 中重启 VMware NAT 服务:
net stop "VMware NAT Service" net start "VMware NAT Service"之后 Windows 浏览器可以访问:
http://127.0.0.1:12345/dolphinscheduler/ui四、CentOS 7 初始化
1. 查看系统版本
cat/etc/redhat-release示例:
CentOS Linux release 7.9.2009 (Core)五、替换 CentOS 7 yum 源
1. 为什么要替换 yum 源
CentOS 7 默认 yum 源可能无法正常使用,常见问题包括:
Cannot find a valid baseurl for repo Could not resolve host: mirrorlist.centos.org yum install 很慢 yum makecache 失败所以建议直接替换为阿里云centos-vault源。
2. 备份原 yum 源
cd/etc/yum.repos.d/mkdir-pbackupmv*.repo backup/3. 创建阿里云 CentOS 7 Vault 源
vim/etc/yum.repos.d/CentOS-Base.repo写入:
[base] name=CentOS-7.9.2009 - Base - Aliyun Vault baseurl=http://mirrors.aliyun.com/centos-vault/7.9.2009/os/$basearch/ enabled=1 gpgcheck=0 [updates] name=CentOS-7.9.2009 - Updates - Aliyun Vault baseurl=http://mirrors.aliyun.com/centos-vault/7.9.2009/updates/$basearch/ enabled=1 gpgcheck=0 [extras] name=CentOS-7.9.2009 - Extras - Aliyun Vault baseurl=http://mirrors.aliyun.com/centos-vault/7.9.2009/extras/$basearch/ enabled=1 gpgcheck=0 [centosplus] name=CentOS-7.9.2009 - CentOSPlus - Aliyun Vault baseurl=http://mirrors.aliyun.com/centos-vault/7.9.2009/centosplus/$basearch/ enabled=0 gpgcheck=04. 创建 EPEL 源
部分工具包可能需要 EPEL 源。
vim/etc/yum.repos.d/epel.repo写入:
[epel] name=Extra Packages for Enterprise Linux 7 - $basearch baseurl=http://mirrors.aliyun.com/epel-archive/7/$basearch enabled=1 gpgcheck=05. 清理并生成缓存
yum clean all yum makecache6. 验证 yum 源
yum repolist如果能看到:
base updates extras epel说明 yum 源可用。
六、安装基础工具
yuminstall-yvimwgetcurlgitunzipnet-toolslsofyum-utils工具说明:
vim:编辑配置文件 wget/curl:下载文件和测试接口 git:后续拉代码 unzip:解压文件 net-tools:提供 ifconfig 等网络工具 lsof:查看端口占用 yum-utils:添加 yum repo 会用到七、关闭防火墙和 SELinux
1. 关闭防火墙
学习环境可以关闭防火墙,避免端口访问问题。
systemctl stop firewalld systemctl disable firewalld检查:
systemctl status firewalld看到:
inactive即可。
2. 关闭 SELinux
临时关闭:
setenforce0永久关闭:
vim/etc/selinux/config修改为:
SELINUX=disabled八、安装 Docker
1. 安装依赖
yuminstall-yyum-utils device-mapper-persistent-data lvm22. 添加 Docker 阿里云 yum 源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo3. 安装 Docker
yuminstall-ydocker-ce docker-ce-cli containerd.io4. 启动 Docker
systemctl startdockersystemctlenabledocker5. 检查 Docker
docker--versiondockerps看到 Docker 版本,且docker ps不报错,说明 Docker 安装成功。
九、安装 Docker Compose
1. 安装 Compose 插件目录
mkdir-p/usr/local/lib/docker/cli-plugins2. 下载 Docker Compose
curl-SLhttps://github.com/docker/compose/releases/download/v2.24.6/docker-compose-linux-x86_64-o/usr/local/lib/docker/cli-plugins/docker-compose3. 授权
chmod+x /usr/local/lib/docker/cli-plugins/docker-compose4. 检查版本
dockercompose version成功示例:
Docker Compose version v2.27.1十、配置 Docker 镜像加速
1. 编辑 daemon.json
mkdir-p/etc/dockervim/etc/docker/daemon.json写入(这里可以写入自己的专属加速地址):
{"registry-mirrors":["https://registry.cn-hangzhou.aliyuncs.com"],"dns":["223.5.5.5","223.6.6.6","8.8.8.8"]}2. 重启 Docker
systemctl daemon-reload systemctl restartdocker3. 检查是否生效
dockerinfo看到:
Registry Mirrors: https://registry.cn-hangzhou.aliyuncs.com/说明镜像加速配置生效。