深入了解 Apache DolphinScheduler 的儲存系統
Apache DolphinScheduler 嘅儲存系統,為用戶提供一個統一嘅介面,方便喺唔同儲存後端之間儲存同讀取檔案。呢個系統主要用嚟管理工作流(Workflow)同任務(Task)所需嘅資源,例如腳本、JAR 檔案、設定檔,或者其他執行任務時會用到嘅工件。由於 DolphinScheduler 將底層儲存技術抽象化,開發者就算轉換儲存供應商,都唔需要改動應用程式嘅程式碼,極大提升靈活性。
系統架構概覽
DolphinScheduler 嘅儲存系統係以插拔式(pluggable)組件設計,唔同儲存後端都會用同一套 API。咁樣設計令 DolphinScheduler 可以同時兼容多種儲存方案,用戶喺操作資源時都係用統一嘅介面,無需擔心背後用緊邊一種儲存技術。

支援嘅儲存類型
DolphinScheduler 支援以下幾種儲存後端:

– 本地儲存(LOCAL)
– Hadoop HDFS
– Amazon S3
– 阿里雲 OSS
– 華為雲 OBS
– 騰訊雲 COS
– Google Cloud Storage
– Azure Blob Storage
插件式架構
儲存功能係以插件架構實現,方便擴展同維護。每一種儲存方案都可以獨立開發成一個插件,用戶只要安裝或者切換插件,就可以用唔同嘅儲存後端。

系統配置
DolphinScheduler 嘅儲存系統主要喺 `common.properties` 檔案入面設定。唔同儲存後端會有唔同嘅參數需要配置。
基本配置
# 儲存類型:LOCAL, HDFS, S3, OSS, GCS, ABS, OBS, COS
resource.storage.type=LOCAL
# 資源上傳嘅基礎路徑
resource.storage.upload.base.path=/tmp/dolphinscheduler
配置流程
當 DolphinScheduler 啟動時,會根據設定自動載入儲存配置,並初始化相應嘅儲存操作器。

針對不同儲存類型嘅配置
本地儲存
如果用 LOCAL 儲存,所有檔案都會放喺執行 DolphinScheduler 嘅本地檔案系統。呢個係預設選項。
resource.storage.type=LOCAL
resource.storage.upload.base.path=/tmp/dolphinscheduler
注意:如果你有多個 DolphinScheduler 節點,每個節點都只會見到自己本機嘅檔案。想多個節點共享資源,就要用共享檔案系統。
HDFS 儲存
如果用 HDFS,就要多加幾個設定:
resource.storage.type=HDFS
resource.hdfs.fs.defaultFS=hdfs://namenode:8020
resource.hdfs.root.user=hdfs
如果用 Kerberos 認證,仲要額外配置 Kerberos 相關設定。
S3 儲存
用 Amazon S3 或 S3 兼容儲存時:
resource.storage.type=S3
AWS 連線參數要喺 `aws.yaml` 入面設定:
aws:
s3:
credentials.provider.type: AWSStaticCredentialsProvider
access.key.id:
access.key.secret:
region:
bucket.name:
endpoint:
其他雲端儲存
DolphinScheduler 亦支援阿里雲 OSS、華為雲 OBS、騰訊雲 COS、Google Cloud Storage、Azure Blob Storage,每一種都有自己專屬嘅設定參數。
資源資料庫結構
除咗檔案本身,DolphinScheduler 會喺資料庫記錄每個資源嘅 metadata,例如資源名稱、路徑、擁有者等。仲有資源同用戶之間嘅關聯表,用嚟管理權限。
組件之間嘅整合
儲存系統會同 DolphinScheduler 其他組件緊密整合,確保任務調度、資源管理等功能可以順利運作。

使用考慮因素
選擇儲存方案時,要留意以下幾點:
1. 單節點 vs 多節點:單節點可以用本地儲存,多節點建議用 HDFS 或雲端儲存。
2. 效能:本地儲存效能最好,但冇分布式能力。HDFS 適合內部部署,雲端儲存適合雲端環境。
3. 可靠性:雲端儲存通常有高可用性同耐久性。HDFS 配合複製功能亦好可靠。
4. 整合度:如果你本身已經用開某個雲供應商或者 Hadoop 叢集,直接用返佢嘅儲存會最方便。
5. 成本:唔同儲存方案收費模式唔同,雲儲存會按容量、請求次數、流量收費。
配置最佳實踐
1. 配置一致:所有 DolphinScheduler 節點(API、Worker)都要用同一套儲存設定。
2. 權限:運行 DolphinScheduler 嘅用戶要有足夠權限存取儲存系統。
3. 共享儲存:分布式部署時一定要用共享儲存(HDFS、S3 等),唔好用 LOCAL。
4. 安全:用雲儲存時,應該用最小權限嘅 IAM 角色或存取金鑰。
5. 備份:重要資源一定要備份,減低損失風險。
編輯評論:DolphinScheduler 儲存系統的啟示與香港企業應用角度
DolphinScheduler 呢套儲存系統,最大亮點係高度抽象同插件式設計,令企業無論用咩雲端或者本地儲存,都可以隨時切換,唔需要大改系統架構。對於香港企業嚟講,尤其係啲需要遵守數據主權或者數據地區限制嘅行業,例如金融、醫療、政府機構,呢種靈活性就非常重要。你可以根據合規需要,揀用本地、私有雲或者公有雲儲存,甚至可以混合部署。
另一個值得深思嘅地方係資料一致性同共享問題。好多公司都會有多個數據中心或者多個運算節點,如果仲係單靠本地儲存,資源同步會好麻煩,容易出錯。DolphinScheduler 嘅設計已經預咗分布式協作,無論你用 HDFS 定 S3,只要配置得啱,所有節點都可以即時見到同一份資源,大大提升團隊協作效率。
但係,雲端儲存同本地儲存始終有 trade-off。例如雲端雖然彈性高、可靠性強,但成本同安全風險都唔可以忽視。尤其係香港 DaaS(Data as a Service)或者 SaaS 公司,應該仔細評估儲存方案對生意模式、法規合規同 IT 運維嘅影響。
最後,DolphinScheduler 強調自動化、配置一致性同權限管理。呢啲都係現代企業數據治理嘅重要一環。建議香港企業唔好只停留喺「部署到就算」嘅層面,而係要主動規劃好儲存策略、備份方案同權限設計,咁先可以發揮到 DolphinScheduler 真正嘅價值。
總結嚟講,DolphinScheduler 嘅儲存系統唔單止係技術層面嘅升級,更加係推動企業數據管理現代化嘅一大步。未來如果要支援更多新型儲存方案(例如 IPFS、分佈式雲儲存),相信都可以無縫接軌,對香港企業數碼轉型絕對係一個值得留意嘅選擇。
🎬 YouTube Premium 家庭 Plan成員一位 只需 HK$148/年!
不用提供密碼、不用VPN、無需轉區
直接升級你的香港帳號 ➜ 即享 YouTube + YouTube Music 無廣告播放
