基於 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 支援動態上下線

前提條件

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 為例:

  1. 安裝插件。Rainbond 團隊視圖 -> 插件 -> 從應用商店安裝插件 -> 搜索 通用數據初始化插件 並安裝。
  2. 開通插件。進入 Worker 組件內 -> 插件 -> 開通 通用數據初始化插件 ,並修改配置
  3. 更新組件,初始化插件會自動下載 Datax 並解壓到 /opt/soft目錄下。