Docker集群部署 Apache DolphinScheduler 3.x。
前期准备
首先,确保你的机器上已经安装了 Docker 和 Docker Compose。如果还没有安装,请参考以下链接进行安装:
Docker 安装指南
Docker Compose 安装指南
确认 Docker 和 Docker Compose 版本
打开终端(Linux/MacOS)或命令提示符(Windows),输入以下命令来检查是否正确安装了 Docker 和 Docker Compose,并确认版本号是否满足要求(Docker 20.10+ 和 Docker Compose v2.23+):
docker --version
docker-compose --version
第一步:创建项目文件夹
在你喜欢的位置创建一个新的文件夹,用于存放所有的配置和脚本文件。例如,在桌面创建一个名为 dolphinscheduler-cluster 的文件夹。
mkdir ~/Desktop/dolphinscheduler-cluster
cd ~/Desktop/dolphinscheduler-cluster
第二步:启动 PostgreSQL 数据库容器
创建自定义网络:这有助于简化服务之间的通信。
docker network create ds-network
运行 PostgreSQL 容器:这里我们将使用官方的 PostgreSQL 镜像并设置必要的环境变量。
docker run -d
--name dolphinscheduler-postgresql
-e POSTGRES_USER=dolphinscheduler
-e POSTGRES_PASSWORD=dolphinscheduler
-e POSTGRES_DB=dolphinscheduler
-p 5432:5432
--network ds-network
postgres:13
这个命令会下载并启动一个 PostgreSQL 容器,其中包含一个名为 dolphinscheduler 的数据库,以及对应的用户名和密码。
第三步:初始化数据库表结构
下载初始化SQL脚本:Apache DolphinScheduler 提供了一个用于初始化数据库的 SQL 脚本。
wget https://raw.githubusercontent.com/apache/dolphinscheduler/v3.1.0/dolphinscheduler-server/src/main/resources/sql/dolphinscheduler_postgre.sql -O init-db.sql
执行SQL脚本:我们需要进入 PostgreSQL 容器内部来执行这个 SQL 脚本。
docker exec -it dolphinscheduler-postgresql psql -U dolphinscheduler -d dolphinscheduler -f /init-db.sql
注意:由于我们是从宿主机上传的 SQL 文件,需要先将其复制到容器内或者直接在容器中下载该 SQL 文件。
第四步:编写配置文件
在项目目录下创建一个名为 conf 的文件夹,并在其中添加两个配置文件:
application-dao.properties
spring.datasource.url=jdbc:postgresql://dolphinscheduler-postgresql:5432/dolphinscheduler
spring.datasource.username=dolphinscheduler
spring.datasource.password=dolphinscheduler
spring.datasource.driver-class-name=org.postgresql.Driver
registry.properties
registry.plugin.name=zookeeper
registry.servers=zookeeper:2181
第五步:启动 ZooKeeper
ZooKeeper 是用来管理分布式系统的服务发现、配置管理和命名服务的。我们可以很容易地通过 Docker 启动一个 ZooKeeper 实例。
docker run -d
--name zookeeper
-p 2181:2181
--network ds-network
zookeeper:3.7
第六步:编写 Docker Compose 文件
在项目根目录下创建一个名为 docker-compose.yaml 的文件,并添加如下内容:
version: '3'
services:
# Master Server, Worker Server, API Server, Alert Server configurations here...
networks:
ds-network:
external: true
你需要根据实际需求为 Master Server、Worker Server、API Server、Alert Server 添加相应的服务配置。这部分涉及到具体的镜像选择和服务配置,可以根据 Apache DolphinScheduler 官方文档中的指导进行调整。
第七步:启动所有服务
完成上述步骤后,在项目根目录下执行以下命令启动所有服务:
docker-compose up -d
第八步:验证部署
打开浏览器访问 API Server 的地址(默认是 http://<your-host-ip>:12345/dolphinscheduler/doc.html),登录界面应该显示出来,你可以使用默认账号 admin 和密码 dolphinscheduler123 登录。
以上就是从零开始部署 Apache DolphinScheduler 3.x 到 Docker 中的完整流程。如果你遇到任何问题,欢迎随时提问!

















暂无评论内容