作者| 陳逸飛
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
本文由 白鯨開源 提供釋出支援!