Dolphinscheduler Docker部署全攻略

海豚调度發表於2024-06-25

作者| 陳逸飛

Docker部署的目的是在容器中快速啟動部署Apache Dolphinscheduler服務。

先決條件

  • docker-compose
  • docker

使用容器單機部署Dolphinscheduler

  1. 請下載原始碼包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"
    
  1. 安裝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

  1. 在deploy資料夾下修改完成.env檔案之後,複製到其他伺服器
  2. 在其他需要啟動Dolphinscheduler服務的伺服器下,執行啟動命令(如:Dolphinscheduler-api)
docker-compose up -d  dolphinscheduler-api

使用非容器化的Postgresql與zookeeper

  1. 修改環境變數
# 進入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
  1. 初始化
docker-compose --profile schema up -d
  1. 啟動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

  1. 下載Mysql-jdbc驅動包mysql-connector-java-8.0.16.jar
  2. 在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
  1. 重啟所有服務
docker-compose --profile all restart

本文由 白鯨開源 提供釋出支援!

相關文章