爲了完整演示整個流程,從0開始,排除其它一切干擾,本人特意找了臺新的windows環境,全程無需IDE的參與操作
一、版本信息:
-
dolphinscheduler:1.3.0
-
maven:3.6.3
-
jdk:1.8
二、編譯
-
注意事項:
1.無需下載node.js,執行下面的maven打包會自動下載,node.js版本不對編譯會有問題
2.window下編譯完後tar包的解壓一定不要用國產解壓軟件,否則會有下圖的慘狀,推薦壓縮軟Bandizip
-
下載
源碼下載地址:https://github.com/apache/incubator-dolphinscheduler/archive/1.3.0.zip
-
配置
新建mysql數據庫,
CREATE DATABASE dolphinscheduler
,設置好用戶名密碼需要修改
dolphinscheduler-dao
模塊下的的datasource.properties
文件,修改爲如下內容spring.datasource.driver-class-name=com.mysql.jdbc.driver spring.datasource.url=jdbc:mysql://127.0.0.1:3306/dolphinscheduler spring.datasource.username=dolphinscheduler spring.datasource.password=123456
-
編譯
注意,maven鏡像最好設置爲國內源,windows下在gitbash或者cmd等terminal中執行:
mvn -Dmaven.test.skip=true clean package install -Prelease
cd dolphinscheduler-dist
mvn -Dmaven.test.skip=true package -Prelease
經過漫長的依賴包下載和編譯,最後生成tar.gz包apache-dolphinscheduler-incubating-1.3.0-dolphinscheduler-bin.tar.gz
解壓tar包,可以看到如下目錄結構,ui也一併在裏面,如果發現ui不在裏面,請檢查你的環境中是否有其它版本的node.js
三、windows單機部署
1.zookeeper安裝
在實際生產中,zk作爲DS服務的註冊中心,實打實的心臟功能,我們進入一臺生產環節的zk查看下DS在裏面的目錄結構
[zk: localhost:2181(CONNECTED) 4] ls /dolphinscheduler
[dead-servers, nodes, tasks_queue, masters, lock, workers, tasks_kill]
不需要看DS源碼,看zk裏面的目錄一目瞭然都用zk做了哪些事,比如服務的註冊、鎖的註冊、任務的管理,所以ds跟大數據生態組件一樣是一個強依賴zk的組件。在windows下,爲了演示整個流程,我們先裝單點的zk,不做集羣,安裝方式很簡單,如下:
zookeeper下載地址:https://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.6.1/apache-zookeeper-3.6.1-bin.tar.gz
解壓後進入apache-zookeeper-3.6.1-bin\conf
,把zoo_sample.cfg
重命名爲zoo.cfg
,再編輯zoo.cfg
,修改如下兩個參數:
dataDir=C:\\software\\apache-zookeeper-3.6.1-bin\\data
dataLogDir=C:\\software\\apache-zookeeper-3.6.1-bin\\logs
啓動zkServer
cd apache-zookeeper-3.6.1-bin\bin
zkServer.cmd
2.服務部署
-
數據庫初始化
用上面推薦的解壓軟件解壓上面編譯生成的tar包
需要把jdbc驅動包拷貝到lib目錄下,下載地址:mysql-connector-java-5.1.47.jar
# 這裏一定要cd到解壓後的tar包的根目錄下執行所有操作
cd apache-dolphinscheduler-incubating-1.3.0-dolphinscheduler-bin
java -classpath lib/* org.apache.dolphinscheduler.dao.upgrade.shell.CreateDolphinScheduler
-
啓動服務
起5個cmd窗口,以下所有命令在apache-dolphinscheduler-incubating-1.3.0-dolphinscheduler-bin下執行
-
啓動master
java -classpath lib/* org.apache.dolphinscheduler.server.master.MasterServer
-
啓動worker
java -classpath lib/* org.apache.dolphinscheduler.server.worker.WorkerServer
-
啓動api server
java -classpath lib/* org.apache.dolphinscheduler.api.ApiApplicationServer --spring.config.name=application-api
-
啓動log server
java -classpath lib/* org.apache.dolphinscheduler.server.log.LoggerServer
-
啓動alert server
java -classpath lib/* org.apache.dolphinscheduler.alert.AlertServer
5個服務都已啓動成功
-
查看本地部署的zookeeper裏面,ds相關的目錄也已經生成
訪問頁面http://127.0.0.1:12345/dolphinscheduler/ui/view/login/index.html,用戶名:admin 密碼:dolphinscheduler123
大功告成!
注意:DS目前只支持在linux下調度shell,不支持在windows下執行調度,基本的原理是Worker build的執行腳本是shell,不是windows支持的.bat或.cmd文件格式。