?? 本系列文章是 DolphinScheduler 由淺入深的教程,涵蓋搭建、二開迭代、核心原理解讀、運(yùn)維和管理等一系列內(nèi)容。適用于想對
DolphinScheduler了解或想要加深理解的讀者。祝開卷有益。 大數(shù)據(jù)學(xué)習(xí)指南
DolphinScheduler 的開源版本有不少的 BUG,所以在公司生產(chǎn)使用的話,需要做二次迭代優(yōu)化,二開的過程,本地調(diào)試是不可以或缺的。今天記錄一下本地開發(fā)環(huán)境搭建的過程,適用于 2.x 和 3.x 版本,這兩個大版本區(qū)別不大,下面會進(jìn)行說明。
依賴項
- Mysql
- ZooKeeper
說明
其他的 Git、Maven、JDK、Node等工具,這里不做詳細(xì)安裝說明。
注意 DolphinScheduler 2.x 版本使用 node v12.20 , DolphinScheduler 3.x 版本使用 node v16.13+。
本地開發(fā)搭建更多的是為了方便調(diào)式代碼,用于調(diào)試現(xiàn)有的邏輯,定位問題,學(xué)習(xí)源碼等,如果有現(xiàn)成的測試環(huán)境,建議不要在本地在安裝額外的Mysql等環(huán)境了,直接使用測試環(huán)境的 Mysql、ZK 等環(huán)境,那就跳過這一步,直接看
如果你沒有測試環(huán)境,本地還是需要搭建 Mysql 和 ZooKeeper 的話,也非常簡單。
安裝 ZooKeeper
https://archive.apache.org/dist/zookeeper/zookeeper-3.6.3/
① 下載之后,解壓到一個目錄 ,在這個目錄下新建 zkData、zkLog 文件夾。
② 將 conf 目錄下的 zoo_sample.cfg 文件,復(fù)制一份,重命名為 zoo.cfg,修改其中數(shù)據(jù)和日志的配置,如:
dataDir=/data/zookeeper/data ## 此處使用絕對路徑,具體路徑根據(jù)實際情況
dataLogDir=/data/zookeeper/datalog
③ 運(yùn)行 ./bin/zkServer.sh
Mysql
訪問 https://dev.mysql.com/downloads/mysql/
Mac用戶:
Windows 用戶:
其他的,一路Next即可。
安裝完 Mysql 之后,需要初始化數(shù)據(jù)。
① 在mysql中新建庫,用于dolphinscheduler調(diào)用
CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
② 新建dolphinscheduler用戶,并賦予dolphinscheduler庫權(quán)限
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;
③ 執(zhí)行 SQL
在 Mysql 的 dolphinscheduler 庫中執(zhí)行 dolphinscheduler源碼目錄下的**dolphinscheduler/dolphinscheduler-dao/src/main/resources/sql/dolphinscheduler_mysql.sql **的文件,以此完成數(shù)據(jù)的初始化。
配置注冊中心
修改 Zookepper 的配置信息:
如果你使用的是本地的 ZK,配置默認(rèn)就是 127.0.0.1:2181 ,這一步可以跳過,不需要修改。
如果你是用的是其他服務(wù)器的 ZK,修改下圖中位置的連接信息即可。
啟動后端
說明
這里呢,2.x 版本和 3.x 版本會有點不一樣。如圖:
修改的時候,注意找到對應(yīng)的位置。
啟動 API 服務(wù)
① 2.X 版本和 3.X 版本一樣,在 dolphinscheduler-api 模塊的 resources 下面,新增 yaml 文件 application-mysql.yaml
內(nèi)容如下:注意修改成自己的 Mysql 連接信息
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://你的IP:3306/數(shù)據(jù)庫?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-api 模塊的 resources 下面,修改 logback-api.xml 文件。
<root level="INFO">
<appender-ref ref="STDOUT"/>
<appender-ref ref="APILOGFILE"/>
</root>
圖示:
③ 啟動 API 服務(wù)
默認(rèn)端口是:7080
配置 _VM Options : _-Dlogging.config=classpath:logback-api.xml -Dspring.profiles.active=mysql,api
把紅色部分復(fù)制到??下面。
圖示:
啟動 Master 服務(wù)
注意,這里 2.X 版本和 3.X 版本有區(qū)別,請對號入座。
① 在 2.X 版本中,在 dolphinscheduler-server 模塊的 resources 下面,新增 yaml 文件 application-mysql.yaml
在 3.X 版本中,在 dolphinscheduler-master 模塊的 resources 下面,新增 yaml 文件 application-mysql.yaml
,內(nèi)容如下:
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://你的IP:3306/數(shù)據(jù)庫?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>
圖示:
③ 啟動 Master
配置 VM Options:–Dlogging.config=classpath:logback-master.xml-Dspring.profiles.active=mysql,master
把紅色部分復(fù)制到??下面。
啟動 Worker 服務(wù)
注意,這里 2.X 版本和 3.X 版本有區(qū)別,請對號入座。
① 在 2.X 版本中,master和worker在一個模塊里面,在上一步的Master服務(wù)中已經(jīng)配置過了,這里直接跳到啟動服務(wù)那一步(直接看③)。
如果你用的是3.X版本,請繼續(xù)看: 在 3.X 版本中,在 dolphinscheduler-worker 模塊的 resources 下面,新增 yaml 文件 application-mysql.yaml
,內(nèi)容如下:
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://你的IP:3306/數(shù)據(jù)庫?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>
圖示:
③ 啟動 Worker
配置 VM Options:–Dlogging.config=classpath:logback-worker.xml-Dspring.profiles.active=mysql,worker
把紅色部分復(fù)制到??下面。
啟動前端
注意 DolphinScheduler 2.x 版本使用 node v12.20.2 , DolphinScheduler 3.x 版本使用 node v16.13+
① 可以使用 nvm 來管理node版本。訪問:https://nvm.uihtm.com/
② 依據(jù)網(wǎng)站的教程,安裝完 nvm 之后,使用下面的命令繼續(xù)安裝 node
nvm install 12.20.2
③ 確認(rèn) .env 配置的API_BASE的端口與 API 服務(wù)的端口一致。。
④ 啟動前端。
cd dolphinscheduler-ui
nvm use v12.20.2
npm install
npm run dev
⑤ 等待啟動完畢,可以訪問 localhost:8888
默認(rèn)賬戶密碼 admin/dolphinscheduler123 即可完成登錄文章來源:http://www.zghlxwxcb.cn/news/detail-515175.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-515175.html
到了這里,關(guān)于海豚調(diào)度 DolphinScheduler(2.x和3.x版本) 本地環(huán)境搭建,方便本地調(diào)式代碼的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!