作者| 陈逸飞
Docker部署的目的是在容器中快速启动部署Apache Dolphinscheduler服务。
先决条件
- docker-compose
- docker
使用容器单机部署Dolphinscheduler
- 请下载源码包apache-dolphinscheduler--src.tar.gz,下载地址:下载
首先确定服务启动所需的端口未被占用
port_list=(12345 25333 5432)for port in ${port_list[@]};donetstat -an | grep $portdone# 无任何输出即为端口未被占用
如果端口被占用的情况下
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
- 安装Postgresql 与 Dolphinscheduler服务
使用容器分布式部署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
本文由 白鲸开源科技 提供发布支持!