基於 Rainbond 部署 DolphinScheduler 高可用集群
- 2022 年 7 月 14 日
- 筆記
本文描述通過 Rainbond 雲原生應用管理平台 一鍵部署高可用的 DolphinScheduler 集群,這種方式適合給不太了解 Kubernetes、容器化等複雜技術的用戶使用,降低了在 Kubernetes 中部署 DolphinScheduler 的門檻。
Apache DolphinScheduler 是一個分散式易擴展的可視化 DAG 工作流任務調度開源系統。解決數據研發ETL 錯綜複雜的依賴關係,不能直觀監控任務健康狀態等問題。DolphinScheduler 以 DAG 流式的方式將 Task 組裝起來,可實時監控任務的運行狀態,同時支援重試、從指定節點恢復失敗、暫停及Kill任務等操作
簡單易用:DAG 監控介面,所有流程定義都是可視化,通過拖拽任務訂製 DAG,通過 API 方式與第三方系統對接, 一鍵部署
高可靠性:去中心化的多 Master 和多 Worker, 自身支援 HA 功能, 採用任務隊列來避免過載,不會造成機器卡死
豐富的使用場景:支援暫停恢復操作.支援多租戶,更好的應對大數據的使用場景. 支援更多的任務類型,如 spark, hive, mr, python, sub_process, shell
高擴展性:支援自定義任務類型,調度器使用分散式調度,調度能力隨集群線性增長,Master 和 Worker 支援動態上下線
前提條件
- 可用的 Rainbond 雲原生應用管理平台,請參閱文檔 Rainbond 快速安裝
DolphinScheduler 集群一鍵部署
- 對接並訪問內置的開源應用商店,搜索關鍵詞
dolp
即可找到 DolphinScheduler 應用。
- 點擊 DolphinScheduler 右側的
安裝
進入安裝頁面,填寫對應的資訊,點擊確定即可開始安裝,自動跳轉至應用視圖。
選擇項 | 說明 |
---|---|
團隊名稱 | 用戶自建的工作空間,以命名空間隔離 |
集群名稱 | 選擇 DolphinScheduler 被部署到哪一個 K8s 集群 |
選擇應用 | 選擇 DolphinScheduler 被部署到哪一個應用,應用中包含有若干有關聯的組件 |
應用版本 | 選擇 DolphinScheduler 的版本,目前可選版本為 3.0.0-beta2 |
- 等待幾分鐘後,DolphinScheduler 集群就會安裝完成,並運行起來。
- 點擊訪問,將訪問 DolphinScheduler-API 組件,默認的用戶密碼是
admin
/dolphinscheduler123
API Master Worker 節點伸縮
DolphinScheduler API、Master、Worker 都支援伸縮多個實例,多個實例可以保證整個集群的高可用性。
以 Worker 為例,進入組件內 -> 伸縮,設置實例數量。
驗證 Worker 節點,進入 DolphinScheduler UI -> 監控中心 -> Worker 查看節點資訊。
配置文件
API 和 Worker 服務共用 /opt/dolphinscheduler/conf/common.properties
,修改配置時只需修改 API 服務的配置文件。
如何支援 Python 3?
Worker 服務默認安裝了 Python3,使用時可以添加環境變數 PYTHON_HOME=/usr/bin/python3
如何支援 Hadoop, Spark, DataX 等?
以 Datax 為例:
- 安裝插件。Rainbond 團隊視圖 -> 插件 -> 從應用商店安裝插件 -> 搜索
通用數據初始化插件
並安裝。 - 開通插件。進入 Worker 組件內 -> 插件 -> 開通
通用數據初始化插件
,並修改配置- FILE_URL://datax-opensource.oss-cn-hangzhou.aliyuncs.com/datax.tar.gz
- FILE_PATH:/opt/soft
- LOCK_PATH:/opt/soft
- 更新組件,初始化插件會自動下載
Datax
並解壓到/opt/soft
目錄下。