Apache DolphinScheduler(2.x和3.x版本) 本地環境搭建教程一覽

在迅速變化的技術領域,本地環境的搭建和調試對於軟件開發的效率和效果至關重要。本文將詳細介紹如何爲Apache DolphinScheduler搭建一個高效的本地開發環境,包括2.x和3.x版本的設置方法。

file

無論您是初學者還是有經驗的開發者,本指南都將幫助您快速啓動並運行,有效地進行本地代碼調試。

依賴項

  • Mysql
  • ZooKeeper

說明

其他的 Git、Maven、JDK、Node等工具,這裏不做詳細安裝說明。

注意Apache DolphinScheduler 2.x 版本使用 node v12.20 , 3.x 版本使用 node v16.13+。

本地開發搭建更多的是爲了方便調試代碼,用於調試現有的邏輯,定位問題,學習源碼等,如果有現成的測試環境,建議不要在本地在安裝額外的Mysql等環境了,直接使用測試環境的 Mysql、ZK 等環境,那就跳過這一步往後看!

如果你沒有測試環境,本地還是需要搭建 Mysql 和 ZooKeeper 的話,也非常簡單。

安裝 ZooKeeper

https://archive.apache.org/dist/zookeeper/zookeeper-3.6.3/

file

① 下載之後,解壓到一個目錄 ,在這個目錄下新建 zkDatazkLog 文件夾。
② 將 Conf 目錄下的 zoo_sample.cfg 文件,複製一份,重命名爲 zoo.cfg,修改其中數據和日誌的配置,如:

dataDir=/data/zookeeper/data ## 此處使用絕對路徑,具體路徑根據實際情況
dataLogDir=/data/zookeeper/datalog

③ 運行 ./bin/zkServer.sh

安裝Mysql

訪問 https://dev.mysql.com/downloads/mysql/

Mac用戶:

file

Windows 用戶:

file

其他的,安裝一直點Next即可。

安裝完 Mysql 之後,需要初始化數據。
① 在Mysql中新建庫,用於DolphinScheduler調用

CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

② 新建DolphinScheduler用戶,並賦予DolphinScheduler庫權限

CREATE USER 'dolphinscheduler'@'%' IDENTIFIED BY 'dolphinscheduler';
GRANT ALL PRIVILEGES ON dolphinscheduler.* TO 'dolphinscheduler'@'%';
CREATE USER 'dolphinscheduler'@'localhost' IDENTIFIED BY 'dolphinscheduler';
GRANT ALL PRIVILEGES ON dolphinscheduler.* TO 'dolphinscheduler'@'localhost';
FLUSH PRIVILEGES;

③ 執行 SQL
在 Mysql 的 DolphinScheduler 庫中執行 DolphinScheduler源碼目錄下的\*\*dolphinscheduler/dolphinscheduler-dao/src/main/resources/sql/dolphinscheduler_mysql.sql \*\*的文件,以此完成數據的初始化。

配置註冊中心

修改 Zookepper 的配置信息

如果你使用的是本地的 ZK,配置默認就是 127.0.0.1:2181 ,這一步可以跳過,不需要修改。

如果你是用的是其他服務器的 ZK,修改下圖中位置的連接信息即可。

file

啓動後端

說明

這裏呢,2.x 版本和 3.x 版本會有點不一樣。如圖:

file

file

在修改的時候,請注意找到對應的位置。

啓動 API 服務

① 2.X 版本和 3.X 版本一樣,在 dolphinscheduler-api 模塊的 resources 下面,新增 yaml 文件 application-mysql.yaml

內容如下:注意修改成自己的 Mysql 連接信息

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://你的IP:3306/數據庫?characterEncoding=UTF-8&allowMultiQueries=true&useSSL=false
    username: 你的用戶
    password: 你的密碼
    hikari:
      connection-test-query: select 1
      minimum-idle: 5
      auto-commit: true
      validation-timeout: 3000
      pool-name: DolphinScheduler
      maximum-pool-size: 50
      connection-timeout: 30000
      idle-timeout: 600000
      leak-detection-threshold: 0
      initialization-fail-timeout: 1

圖示:

file

② 修改日誌輸出到控制檯,在 dolphinscheduler-api 模塊的 resources 下面,修改 logback-api.xml 文件。

<root level="INFO">
  <appender-ref ref="STDOUT"/>
  <appender-ref ref="APILOGFILE"/>
</root>

圖示:

file

③ 啓動 API 服務 默認端口是:7080
配置 \_VM Options : \_-Dlogging.config=classpath:logback-api.xml -Dspring.profiles.active=mysql,api 把紅色部分複製到👇下面。
圖示:

file

file

啓動 Master 服務

注意,這裏 2.X 版本和 3.X 版本有區別,請對號入座。

  • 在 2.X 版本中,在 dolphinscheduler-server 模塊的 resources 下面,新增 yaml 文件 application-mysql.yaml 在 3.X 版本中,在 dolphinscheduler-master 模塊的 resources 下面,新增 yaml 文件 application-mysql.yaml,內容如下:
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://你的IP:3306/數據庫?characterEncoding=UTF-8&allowMultiQueries=true&useSSL=false
    username: 你的用戶
    password: 你的密碼
    hikari:
      connection-test-query: select 1
      minimum-idle: 5
      auto-commit: true
      validation-timeout: 3000
      pool-name: DolphinScheduler
      maximum-pool-size: 50
      connection-timeout: 30000
      idle-timeout: 600000
      leak-detection-threshold: 0
      initialization-fail-timeout: 1

  • 修改日誌輸出到控制檯,在 dolphinscheduler-server 模塊的 resources 下面,修改 logback-master.xml 文件。
<root level="INFO">
  <appender-ref ref="STDOUT"/>
  <appender-ref ref="APILOGFILE"/>
</root>

圖示:

file

  • 啓動 Master

配置 VM Options:–Dlogging.config=classpath:logback-master.xml-Dspring.profiles.active=mysql,master
把紅色部分複製到👇下面:

file

file

啓動 Worker 服務

注意,這裏 2.X 版本和 3.X 版本有區別,請對號入座。

  • 在 2.X 版本中,masterworker在一個模塊裏面,在上一步的Master服務中已經配置過了,這裏直接跳到啓動服務那一步(直接看③)。

如果你用的是3.X版本,請繼續看: 在 3.X 版本中,在 dolphinscheduler-worker 模塊的 resources 下面,新增 yaml 文件 application-mysql.yaml,內容如下:

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://你的IP:3306/數據庫?characterEncoding=UTF-8&allowMultiQueries=true&useSSL=false
    username: 你的用戶
    password: 你的密碼
    hikari:
      connection-test-query: select 1
      minimum-idle: 5
      auto-commit: true
      validation-timeout: 3000
      pool-name: DolphinScheduler
      maximum-pool-size: 50
      connection-timeout: 30000
      idle-timeout: 600000
      leak-detection-threshold: 0
      initialization-fail-timeout: 1

  • 修改日誌輸出到控制檯,在 dolphinscheduler-server 模塊的 resources 下面,修改 logback-master.xml 文件。
<root level="INFO">
  <appender-ref ref="STDOUT"/>
  <appender-ref ref="APILOGFILE"/>
</root>

圖示:

file

  • 啓動 Worker
    配置VM Options:–Dlogging.config=classpath:logback-worker.xml-Dspring.profiles.active=mysql,worker

把紅色部分複製到👇下面:

file

file

啓動前端

注意2.x 版本使用 node v12.20.2 , 3.x 版本使用 node v16.13+

1、VM來管理Node版本。訪問:https://nvm.uihtm.com/

file

2、依據網站的教程,安裝完 nvm 之後,使用下面的命令繼續安裝 Node

nvm install 12.20.2

3、確認.env配置的API_BASE的端口與 API 服務的端口一致。

file

4、啓動前端

cd dolphinscheduler-ui
nvm use v12.20.2
npm install
npm run dev

5、等待啓動完畢,可以訪問 localhost:8888
默認賬戶密碼 admin/dolphinscheduler123 即可完成登錄

通過遵循本文提供的步驟,您可以快速搭建一個功能齊全的Apache DolphinScheduler本地開發環境。

這不僅可以幫助您更好地理解DolphinScheduler的工作機制,還可以提高您解決問題和開發新功能的效率。記得,一個良好的開始是成功的一半。現在,您已經準備好在本地環境中進行探索和創新了!

本文由 白鯨開源科技 提供發佈支持!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章