Dolphinscheduler Docker部署全攻略
作者| 陈逸飞
Docker部署的目的是在容器中快速启动部署Apache Dolphinscheduler服务。
先决条件
- docker-compose
- docker
使用容器单机部署Dolphinscheduler
- 请下载源码包apache-dolphinscheduler--src.tar.gz,下载地址:下载
- 首先确定服务启动所需的端口未被占用
port_list=(12345 25333 5432) for port in ${port_list[@]};do netstat -an | grep $port done # 无任何输出即为端口未被占用
- 如果端口被占用的情况下
找到vim docker-compose.yml
dolphinscheduler-api
,修改ports。# 默认内容 ports: - "12345:12345" - "25333:25333" # 根据需求修改,如: ports: - "22345:12345" - "35333:25333"
- 安装Postgresql 与 Dolphinscheduler服务
tar -zxvf apache-dolphinscheduler-<version>-src.tar.gz
cd apache-dolphinscheduler-<version>-src/deploy/docker
# 初始化数据库等
docker-compose --profile schema up -d
# 启动所有服务
docker-compose --profile all up -d
使用容器分布式部署Dolphinscheduler
- 在deploy文件夹下修改完成.env文件之后,复制到其他服务器
- 在其他需要启动Dolphinscheduler服务的服务器下,执行启动命令(如:Dolphinscheduler-api)
docker-compose up -d dolphinscheduler-api
使用非容器化的Postgresql与zookeeper
- 修改环境变量
# 进入Deploy目录
cd apache-dolphinscheduler-<version>-src/deploy/docker
vim .env
## 修改以下内容
# 数据库名称
DATABASE=dolp
# 数据库连接地址
SPRING_DATASOURCE_URL=jdbc:postgresql://10.0.8.14:15432/dolp
# Zookeeper连接地址
REGISTRY_ZOOKEEPER_CONNECT_STRING=10.0.8.14:12181
# 连接数据库的用户名
SPRING_DATASOURCE_USERNAME=dolp
# 连接数据库的密码
SPRING_DATASOURCE_PASSWORD=111111
- 初始化
docker-compose --profile schema up -d
- 启动Dolphinscheduler服务
# 启动worker服务
docker-compose up -d dolphinscheduler-worker
# 启动master服务
docker-compose up -d dolphinscheduler-master
# 启动alert服务
docker-compose up -d olphinscheduler-alert
# 启动api服务
docker-compose up -d dolphinscheduler-api
让Dolphinschedule元数据库支持Mysql
- 下载Mysql-jdbc驱动包mysql-connector-java-8.0.16.jar
- 在MySQL驱动包目录下,执行以下命令
# 如果用的是默认容器启动的zookeeper和PostgreSQL,会有两条Error,忽略即可
for container_name in `docker ps |grep dolphinscheduler | awk '{print $1}'`;do docker cp ./mysql-connector-java-8.0.16.jar $container_name:/opt/dolphinscheduler/libs;done
- 重启所有服务
docker-compose --profile all restart
本文由 白鲸开源 提供发布支持!