0、說明:本篇是基于DolphinScheduler 3.1.3更新到3.1.4版本的更新。
背景:在使用DolphinScheduler 3.1.3版本的過程中發現前端部分頁面有顯示時間差的問題,具體如下;
其他部分顯示的時間都是和本地時間一緻的,隻有任務執行個體的送出時間、開始時間、結束時間部分和本地的時間相差13個小時。通過更改頁面的時區無法實作時間的正常顯示;
此時官網已經釋出了3.1.4最新版本,且修複了一些已知的bug;于是決定更新到最新版本,看是否能解決此問題;
最新版本修複bug
https://github.com/apache/dolphinscheduler/releases/tag/3.1.4
更新準備:
1、下載下傳最新的二進制安裝包,或者通過最新的源碼編譯;
下載下傳位址:https://dolphinscheduler.apache.org/zh-cn/download/3.1.4
2、DolphinScheduler 中繼資料備份
DolphinScheduler 在版本的改動上是有一些不向前相容的更改,如果更新中版本的跨越涉及到,需要做對應的調整;
具體的說明可以參考官網的說明:https://dolphinscheduler.apache.org/zh-cn/docs/3.1.4/guide/upgrade/incompatible
更新過程中都會有更新失敗的風險,是以如果想在更新失敗的狀态下復原,就需要把存儲的中繼資料做備份,這裡是以mysql的資料備份為例,其他的請結合資料庫的具體情況來定;
#備份mysql整個資料庫的資料mysqldump -h${host} -u${username} -p${password} ${database_name} > ${backup_dir}/${database_name}.sql |
3、修改新版本的配置
解壓最新的安裝到到特定的目錄
tar -zxvf apache-dolphinscheduler-3.1.4-bin.tar.gz -C /home/dolphin3 |
編輯對應的配置檔案,這裡涉及的到的配置檔案包含下面幾項,具體的内容參考《1、Dolphin3 安裝篇》;
- install_env.sh 一鍵部署工具依賴的配置,工具将依賴此配置來部署叢集的服務節點;
- dolphinscheduler_env.sh 服務在啟動運作中依賴的配置環境;
- common.properties 配置檔案在每個服務元件都有用到,這裡沒有通過統一的配置檔案進行分發,需要我們分别手動配置;
- alert-server/conf/common.properties
- api-server/conf/common.properties
- master-server/conf/common.properties
- worker-server/conf/common.properties
說明:這裡隻有一處是需要修改的,就是新版本的安裝目錄的配置要和舊版本的安裝目錄不相同,具體更改如下;
cat /home/dolphin3/apache-dolphinscheduler-3.1.4-bin/bin/env/dolphinscheduler_env.sh
4、更新資料庫
執行資料庫的更新,需要保證“3”步驟中dolphinscheduler_env.sh 檔案中關于資料庫連結的配置和老版本的完全一緻;
另外需要下載下傳對應資料庫的驅動程式包到./tools/libs 目錄下;
使用的是mysql的話,可以直接下載下傳mysql-connector-java-8.0.16.jar 使用;
同時也需要把mysql-connector-java-8.0.16.jar拷貝到其他子產品的lib目錄下;
cd /home/dolphin3/apache-dolphinscheduler-3.1.4-bincp mysql-connector-java-8.0.16.jar alert-server/libs/cp mysql-connector-java-8.0.16.jar api-server/libs/cp mysql-connector-java-8.0.16.jar worker-server/libs/cp mysql-connector-java-8.0.16.jar master-server/libs/ |
執行資料庫更新腳本
注意:在執行這個步驟就需要把老叢集完全停掉了;
cd /home/dolphin3/apache-dolphinscheduler-3.1.4-binsh ./tools/bin/upgrade-schema.sh |
5、啟用最新版本的服務
cd /home/dolphin3/apache-dolphinscheduler-3.1.4-bin/binsh install.sh |
等待腳本執行完成,然後檢查所有的服務狀态;
cd /home/dolphin3/apache-dolphinscheduler-3.1.4-bin/binsh status-all.sh |
6、驗證新版本功能
登入web頁面,標明時區,再次執行任務就可以正常顯示時間了。
總結:整體的更新過程不算很複雜,隻需要在中間的配置過程中保證配置上和老叢集保持一緻。