1、搭建Dolphin Scheduler 的Server端
大致過程如下:
1.1、解壓縮
1.2、創建一個部署的用戶
創建 dolphinscheduler 用戶,將 Scheduler 解壓後目錄的 owner 賦給前面 dolphinscheduler 用戶
對 dolphinscheduler 用戶設置 sudo 免密(必須)
sed -i '$adolphinscheduler ALL=(ALL) NOPASSWD: NOPASSWD: ALL' /etc/sudoers
sed -i 's/Defaults requirett/#Defaults requirett/g' /etc/sudoers
用戶需要進行 ssh 免密設置(必須)
su dolphinscheduler;
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
注意:這裏需要 /home/dolphinscheduler 目錄存在,
1.3、初始化數據庫
這裏用的是MySQL的數據庫,默認配置的是 portgre 數據庫,因此需要在 application-dao.properties 文件中設置 MySQL 的連接參數並去掉註釋,同時,註釋掉 portgre 的連接參數
初始化數據的腳本執行之前,需要注意兩件事:
1、在 MySQL 數據庫中創建一個叫 dolphinscheduler 的數據庫,並且設置該數據庫的訪問賬號和密碼
2、在/etc/profile下配置 JAVA_HOME 及 PATH 變量,否則會報錯
3、設置Java的軟連接(如果報 "/bin/java: No such file or directory" 錯誤的話)
4、引入 mysql-connector-java-5.1.47.jar 包(如果用的是mysql的數據庫)
1.4 修改運行參數
按需配置,但是JAVA_HOME 和 PATH 是必須要配置的
如果找不到.dolphinscheduler_env.sh, 就運行 ls -all
需要設置Java的軟連接,如:
sudo ln -s /opt/soft/java/bin/java /usr/bin/java
1.5 修改 install.sh 腳本的配置項
這裏是非常重要的環節,而且配置項比較多,重點注意的幾個地方:
1.5.1、配置項中設置的目錄設置
都需要將 owner 設置爲 dolphinscheduler(Dolphin Scheduler 的部署用戶)
# hdfsPath (HDFS 根目錄,根路徑的 owner 必須是部署用戶)
# installPath(# dolphinscheduler 集羣安裝目錄,不能與之前的dolphinscheduler 路徑相同)
# Program root path (程序路徑)
# zk root directory 是否是zookeeper的安裝目錄?
這裏將以上幾個目錄都放在 /dolphinscheduler 目錄下
programPath="/dolphinscheduler/program"
hdfsPath="/dolphinscheduler/hdfs"
zkRoot="/dolphinscheduler/zk"
/dolphinscheduler 目錄的 owner 必須是 dolphinscheduler 用戶
業務用到的比如sql等資源文件上傳到哪裏,可以設置:HDFS,S3,NONE,單機如果想使用本地文件系統,請配置爲HDFS,因爲HDFS支持本地文件系統;
如果不需要資源上傳功能請選擇NONE。
強調一點:使用本地文件系統不需要部署hadoop
1.5.2 如果使用資源中心的話,需要以下兩個命令:
sudo mkdir /data/dolphinscheduler
sudo chown -R dolphinscheduler:dolphinscheduler /data/dolphinscheduler
1.5.3 S3、企業微信等配置沒有用到,直接註釋掉
1.5.4 執行一鍵安裝的腳本文件
sh install.sh
注意:
1、install.sh 腳本可能需要執行兩次
2、Dolphin Schedule 的 Server端啓動默認端口8888,注意端口衝突
1.5.5 JPS命令查看運行結果
MasterServer ----- master服務
WorkerServer ----- worker服務
LoggerServer ----- logger服務
ApiApplicationServer ----- api服務
AlertServer ----- alert服務
踩到的坑:
1、 創建 Linux 用戶 dolphinscheduler 的時候,沒有 /home/dolphinscheduler 目錄,導致對 dolphinscheduler 進行 SSH 免密設置的時候報錯:
Could not create directory '/home/dolphinscheduler/.ssh': No such file or directory
Saving key "/home/dolphinscheduler/.ssh/id_rsa" failed: No such file or directory
2、install.sh 配置中的目錄未正確將 owner 設置爲 dolphinscheduler 用戶,導致一鍵安裝未成功
3、python的版本低、沒有配置好 PYTHON_HOME,導致一鍵安裝未成功