Alluxio 2.8版本新看點

語言: CN / TW / HK

分享嘉賓 :楊勇 Alluxio R&D Tech Lead

編輯整理:區啟晟

出品平臺:DataFunTalk

導讀: 本文內容源自楊勇在6月26日線上 Alluxio Meetup 分享的《Alluxio 2.8 - New Features》,主要講解了Alluxio 2.8 的新特性。新特性主要包含以下三方面:

  • 持續提高Alluxio對多種API的支援能力

  • 新增更多的企業級安全特性,滿足企業在使用Alluxio時的安全性需求

  • 增強資料移動能力,提供更多的Trouble Shooting工具,提供非同步的資料移動方式

全文將圍繞以下幾點內容展開:

  • Alluxio 2.8主要特性概覽

  • 提高API支援能力

  • 新增企業級安全特性

  • 提升資料體驗

  • 其他優化

  • 參考架構

掃碼觀看本期視訊回放:point_down:

01

Alluxio 2.8主要特性概覽

  • 提升北向介面的能力

  • 新增企業級安全特性

  • 提供更便捷的資料移動工具

02

提高API支援能力

1. 增強S3 API能力

支援S3介面的Metadata Tagging(標籤),Metadata標籤可作用於單個Object,也可作用於Bucket。當對操作物件(Object/Bucket)進行Tagging後,使用者可根據標籤,對應Object或Bucket進行操作。

Metadata Tagging是S3 特性。根據S3的規範定義,單個檔案最多支援10個使用者自定義的Tagging。以下操作可以支援Tagging:CopyObject, DeleteBucketTagging, DeleteObjectTagging, PutObjectTagging等。

用例:對物件test.txt進行PutObjectTagging操作,定義一個TagSet=[{Key=key1, Value=val1},{Key=key2, Value=val2}]。當使用GetObjectTag操作時,可獲取對應test.txt的TagSet,使用者可根據TagSet進行後續操作。

2. POSIX API(FOR AI/ML)優化,主要是Fuse方面

關注只讀Cache的非功能性需求 。主要指:效能、容量、穩定性相關需求。

同時 引入libfuse3 API 。可以支援fuse3後續的效能和可擴充套件性優化,通過引入該 API 也支援了更多訪問資料的方式。目前Alluxio中libfuse2是預設版本,後續將逐漸過渡到libfuse3版本。

優化Mount/Unmount機制 。可通過CLI或Alluxio.site進行Fuse Mount/Unmonut操作。優化對異常、殘餘的Mount的處理。

其他相關優化: 優化併發訪問大量小檔案的場景。單個Worker支援百萬級的Block。優化資料載入流程,降低使用者等待時間。在預載入大量小檔案時減少記憶體開銷,修復相關的OOM/Crash問題。

03

新增企業級安全特性

企業級特性增強的主要目標:

  • 滿足合規和監管需求

  • 保護資料,避免資料洩露

  • 防止資料誤用

  • 保護密碼/金鑰/訪問ID

  • 在資料洩露後,減少爆炸半徑

1. 服務端資料加密

  • 服務端資料加密,是指資料寫入Alluxio Worker時,對資料進行加密,在資料被讀取併發送到Client或UFS時,對資料進行解密。

  • 服務端資料加密支援按目錄劃分加密區。 使用者可自行選擇需要加密的目錄作為加密區。 支援使用者選定多個目錄建立多個加密區。 加密區和非加密區可以同時存在。 不同加密區可以使用不同的加密策略。 也支援巢狀加密區,比如父目錄是加密區,子目錄可以設定另一個加密區,執行不同的加密策略。

  • 支援多種加密Key。 加密區管理加密Key,同一個加密區可管理多個Key,可通過Round Robin方式使用不同加密Key對資料進行加密。 目前管理加密Key方式有: Hashicorp Vault作為KMS,也支援用Journal儲存Key(JournalStore主要用於測試)。

支援多種加密演算法:

  • AES/CBC/NoPadding and AES/CBC/PKCS5Padding

  • AES/GCM/NoPadding and AES/GCM/PKCS5Padding

  • AES/CTR/NoPadding and AES/CTR/PKCS5Padding

  • AES/ECB/NoPadding and AES/ECB/PKCS5Padding

開啟加密,需要兩步操作:

  • 置加密策略,如設定加密演算法、加密儲存方式等

  • 通過命令列設定加密區

2. 支援Master代理S3 Token

在歷史版本中,Master和Worker訪問S3均需要獲取Token,相關的AccessId和AccessKey、Credential Process等會儲存在各個Worker中,這種使用方式在某些場景中不太合適。在Alluxio 2.8中,所有Worker獲取S3 Token操作可以通過Master進行,當Master申請AssumeRole臨時Token後,會將Token轉發給Worker,Worker可通過該Token訪問S3。

通過這種方式,Master集中申請token,可減少Token重複申請次數。當Token將要過期時,Worker將會向Master申請重新整理token。在2.8實現了一個相關的框架,基於目前的框架,後續可以快速實現其他型別的臨時Token。

3. OPA授權整合

OPA是基於雲原生開發的授權系統,支援不同應用的整合,如Kubernetes、CICD、Servicemesh、SSH等。

在Alluxio 2.8中,Alluxio新增了一個可以和OPA整合的feature, 可以將Alluxio某些mount的授權託管到OPA。通常建議OPA Agent以Sidecar模式部署,這樣Master和OPA agent是處於同一臺機器,可以降低Master與OPA Agent的通訊成本。一旦Alluxio的某個mount被設定成和OPA整合,所有相關的授權檢查均交由OPA Agent進行。

04

提升資料體驗

對於distributedCp和distibutedMv命令,可通過引數配置非同步執行資料移動操作。

可通過getCmdStatus查詢非同步任務的CLI狀態。

對於EE場景,提供基於策略的資料管理的可觀測性,可檢視policy執行狀態。

05

其他優化

系統可觀測性優化:

  • 針對Metadata sync,提供metrics,從而對sync狀態有更多瞭解

  • Data I/O異常處理,提供更準確的exception描述

  • 上面章節提到的Distributed命令優化

  • 技術負債

  • 系統穩定性和容量

  • 異常處理

  • Stressbench工具

  • 更多可見Release Version

Community Version Alluxio 2.8.0 Release | Alluxio:

https://www.alluxio.io/download/releases/alluxio-2-8-0-release/

Enterprise VersionRelease Notes - Alluxio v2.8.0 (stable):

https://docs.alluxio.io/ee/user/stable/en/overview/Release-Notes.html

06

參考架構

1. 支援Master代理S3 token

(1)Client向Master發起Read file請求。

(2)當底層是S3的情況下,Master可部署在AWS上。Master收到請求後,會先通過Ranger對Client的請求進行許可權校驗。

(3)當權限校驗通過後,Master上的S3 Client會獲取相關的檔案元資料資訊。

(4)Client收到Master返回的可繼續操作的訊息後,將向Worker發起讀取請求。

(5)Worker收到Client請求後,會向Master發起獲取或更新S3臨時Token的請求。

(6)Worker獲取Token後,優先查詢本地快取,如無快取資料,Worker將通過臨時Token向S3請求資料,並返回Client。

2. 服務端資料加密

(1)Client向Master請求需要對某個目錄進行加密。

(2)Master會將加密Key儲存到KMS上,同時通知Worker該目錄需要加密。

(3)當Client對這個目錄發起寫入請求時,Worker會對寫入資料進行加密。當Client對這個目錄發起讀取請求時,Worker會對資料進行解密並回傳。

3. OPA授權整合

(1)Client請求Master進行檔案訪問。

(2)Master請求OPA Agent進行授權校驗。

(3)OPA Agent定時從OPA Service下載使用者定製策略。

今天的分享就到這裡,謝謝大家。歡迎繼續關注Alluxio發版的最新動態以及我們在後續 Release 過程中的一些技術分享。

在文末分享、點贊、在看,給個3連擊唄~

01 / 分享嘉賓

楊勇

Alluxio  Alluxio R&D Tech Lead

主要負責Alluxio核心系統開發;在資料容災備份、資料刪重、檔案系統、分散式系統、大資料領域有豐富的經驗,作為第一作者申請獲得多項資料相關專利。

02 / 免費下載資料

03 / 報名看直播 免費領PPT

04 / 關於我們

DataFun: 專注於大資料、人工智慧技術應用的分享與交流。發起於2017年,在北京、上海、深圳、杭州等城市舉辦超過100+線下和100+線上沙龍、論壇及峰會,已邀請超過2000位專家和學者參與分享。其公眾號 DataFunTalk 累計生產原創文章700+,百萬+閱讀,14萬+精準粉絲

  分享、點贊、在看 ,給個 3連擊 :point_down: