IDC于2021年6月發(fā)布了《中國大數據平臺市場研究報告-2020》,報告顯示:2020年全球大數據軟件市場規(guī)模達4,813.6億元人民幣,微軟、Oracle、SAP作為Top3的廠商貢獻了30%以上的市場份額;中國市場,包括硬軟服在內的中國大數據市場規(guī)模達677.3億元人民幣。

Hadoop 免費午餐結束,用戶如何選擇?

2018 年,Cloudera 和 Hortonworks 合并,緊接著 HPE(慧與)宣布收購 MapR,這些跡象在說明,在 Hadoop 風光的表象之下,是企業(yè)經營困難。

2020年底 Cloudera 宣布,從2021年1月31日開始所有產品線全面收費,包括歷史的開源版本也要付費后才能獲取,開源的產品不再面向全部用戶,而是僅僅針對付費用戶。過去一直被大家免費使用的 HDP 發(fā)行版,也不再維護和提供下載了,未來都合并到統(tǒng)一的 CDP 平臺。

Apache Hadoop 可以免費使用,但是開源軟件沒有服務,也沒有 SLA 保證,出了問題只能自己去研究和解決,有問題發(fā)到社區(qū),然后慢慢等結果,同時市場上的 Hadoop 開發(fā)或運維工程師價格也是不菲的;

計算上面的替代品比較多,但是存儲沒有(計算可以自己做,但存儲很難自己做)

二、引入商業(yè)存儲,存算分離是必然趨勢

存算分離優(yōu)勢

邏輯單元分開擴容:通過計算和存儲的分離部署實現計算和存儲的隔離,根據業(yè)務負載需求,對計算/存儲按需擴容。

大數據能力云化:計算分離之后,可將其遷移到K8S或其他的云上面,使得計算更輕量化。

多數據平臺整合:底層提供統(tǒng)一的存儲給到不同的大數據平臺,實現多個大數據平臺數據的整合,加速流程,逐步構建企業(yè)內部數據湖。

獲得最佳存儲體驗:導入云存儲集群中的HDFS(將原生HDFS替換成商業(yè)存儲)具備了企業(yè)級別存儲特性,實現最佳TCO(Total Cost of Ownership ),即總擁有成本,包括產品采購到后期使用、維護的成本。

實現大數據的容災備份:大數據一般數據量比較大,傳統(tǒng)的容災備份都很難做。存算分離后,可以利用專業(yè)企業(yè)存儲的容災備份能力,如快照,復制等實現大數據業(yè)務的數據保護。

當前存算分離實現方案

客戶端模式

HCFS(Hadoop Compatible FileSystem),即Hadoop兼容文件協(xié)議。以無服務的依賴庫形式,可以被應用所依賴,目前大多主流云廠商和部分商業(yè)存儲廠商都以通過 HCFS 方式實現對 HDFS 協(xié)議的支持。該方案需要在計算端安裝專用的客戶端并修改hadoop組件配置項,應用端零改造。

服務端模式

實現存算分離的另一種方式則是服務端模式,即通過在存儲端實現HDFS 的 NameNode 和 DataNode 服務接口,使計算節(jié)點通過原生 HDFS 客戶端即可訪問存儲系統(tǒng)。服務端模式無需在計算節(jié)點上安裝私有客戶端,以低耦合的方式交互。

三、XSKY 基于分布式文件的大數據方案

原生 HDFS 大數據方案

方案介紹

上圖為XSKY XGFS 大數據存算分離方案架構圖,XSKY XGFS 在大數據存算分離方案中主要提供基于原生 HDFS 協(xié)議的 HDFS 網關能力以及元數據管理和數據管理能力,XGFS 在 HDFS 網關中模擬 HDFS 的NameNode和DataNode角色,可收發(fā)原生 HDFS 協(xié)議的請求,亦可直接訪問 XGFS 元數據與數據。同時可無縫對接大數據計算層各個組件。

XGFS HDFS 網關是模擬 NameNode 和 DataNode 角色,所以不會直接存儲元數據和數據,所有元數據和數據將分別存儲在 XGFS 的元數據集群和數據集群中。

通過XSKY XGFS 大數據存算分離方案,可以解決 HDFS 所面臨的以下挑戰(zhàn):

1、通過 XGFS 的協(xié)議兼容性以及對 XGFS 本身的用戶和用戶組權限控制的兼容性,解決 HDFS 存算綁定的問題。XGFS 可直接兼容原生 HDFS 協(xié)議,且 XGFS 用戶和用戶組權限控制與 HDFS 的權限控制機制相近,利用這兩大兼容特性,實現和大數據計算層的無縫對接;

2、XGFS 支持 NFS、SMB/CIFS、POSIX、FTP、HDFS、CSI、S3 等協(xié)議互通,具備多協(xié)議融合互通特性,可以很好的解決應用跨多存儲協(xié)議數據拷貝問題;

3、通過成熟穩(wěn)定的數據 EC 糾刪碼存儲機制,解決 HDFS 3.x EC 不可商用的問題,同時也降低了數據存儲成本;

4、XGFS 從元數據落盤、統(tǒng)一命名空間、整池擴容、在線設定存儲池角色和無狀態(tài)的分布式網關等方面,加強了存儲的彈性擴展,可以解決長期困擾 HDFS 的擴展性弱的問題;

5、XGFS 作為一款企業(yè)級分布式文件存儲系統(tǒng),提供專業(yè)的運維 Portal 和運維接口,具備極簡運維特性,可解決 HDFS 運維困難的問題;

6、XGFS 作為企業(yè)級專業(yè)存儲,將提供完備的數據容災備份方案,解決客戶大數據的運維及災備方面的問題。

下面我們將對上面提到的特性逐個進行詳細介紹:

方案優(yōu)勢

◆協(xié)議兼容性–原生 HDFS 協(xié)議

如圖上所示,XGFS 包含了 HDFS GW(即 HDFS 分布式網關,簡稱為 HDFS 網關)以及元數據管理集群和數據管理集群三大模塊,XGFS 在 HDFS 網關模塊模擬了 HDFS 中的 NameNode 和 DataNode 兩個角色,由 NameNode 和 DataNode 將對外提供原生 HDFS API,并負責接發(fā)、轉送客戶端發(fā)過來的數據讀寫請求。元數據和數據不會保存在 NameNode 和 DataNode 角色中,而是分別存儲于 XGFS 的元數據管理集群和數據管理集群。

通過在 HDFS 網關中模擬 NameNode 和 DataNode,客戶端可通過原生 HDFS 協(xié)議直接訪問HDFS GW,可帶來如下價值:

1、通過 XGFS 提供的原生 HDFS 協(xié)議能力,可對接市場上常見的大數據平臺;

2、除了支持常用的接口外,還支持 append、rename、hflush、flush、concat、setfacl、setxattr;

3、在 XGFS 和計算層對接時,無需在計算層安裝任何專用客戶端。在大數據平臺配置中心設置 XGFS 大數據網關的相關配置后,計算層程序零改造,可直接通過配置找到 XGFS 網關。

◆用戶和用戶組權限兼容性

HDFS 實現了一套兼容 POSIX 的文件權限模型,包括粗粒度的 POSIX UGO 模型和細粒度的 POSIX ACLs 協(xié)議,XGFS 文件存儲可很好的兼容 HDFS 權限控制。

◆多協(xié)議融合互通

XGFS 目前已支持 NFS、SMB/CIFS、POSIX、FTP、HDFS、S3、CSI 等協(xié)議之間互通,同一份文件既可以通過原生 HDFS 接口訪問,又可以使用其他文件協(xié)議接口訪問,無須協(xié)議間做數據拷貝。

要做到文件多協(xié)議之間的互通,首先需要打通用戶和元數據層,也就是統(tǒng)一用戶、統(tǒng)一命名空間。在 XGFS 界面創(chuàng)建一個本地用戶后,可以配置開啟 S3 協(xié)議訪問權限,也可將同一文件目錄通過不同的文件協(xié)議共享出去供不同的上層應用訪問,且每個協(xié)議均可訪問其他協(xié)議上傳的文件。例如在 S3Browser 上可以看到桶 user01bucket 中由 HDFS、CIFS 和 NFS 協(xié)議寫入的文件。

同時用戶可針對不同的上層應用場景,靈活地選擇適用的文件協(xié)議,例如:

針對數據分析業(yè)務可以考慮直接采用原生 HDFS 協(xié)議;

針對海量數據分析和 AI 訓練業(yè)務,則可考慮通過私有客戶端進行支持;

通過自有 CSI Driver 支持金融傳統(tǒng)業(yè)務容器化轉型, 簡化業(yè)務 IT 架構的同時解除對業(yè)務的鎖定。

另外對于基礎設施和運維團隊來說,可以不需要為不同的應用維護各種協(xié)議的存儲系統(tǒng),也不需要在多個存儲系統(tǒng)中拷貝同一份數據。

◆EC 糾刪碼

如上圖所示,EC(Erasure Coding)糾刪碼技術是將一份數據切分成 K 塊原始數據,基于 K 塊原始數據塊中計算出 M 個校驗塊,并將 K+M 塊數據分別存放在存儲系統(tǒng)中的不同存儲節(jié)點上,當其中任意 M 塊數據出錯時,存儲系統(tǒng)可通過數據恢復算法恢復出原來的 K 塊數據,實現冗余和容錯的目的。

如上圖所示,HDFS3.x EC 糾刪碼目前只支持 2+1、3+2、6+3、10+4 模式,默認為 6+3 模式,最高為 10+4 模式,得盤率 71.43%。而 XGFS EC 糾刪碼的得盤率最高為 88.89%,且 XGFS 支持精簡EC,如4+2:1、8+2:1和16+2:1,在資源有限的情況下盡量提高得盤率,降低成本。

另外 XGFS 支持用戶自定義 K+M 具體值,方便用戶根據資源情況自定義 K+M,使得資源使用最大化。

◆擴展性

如上圖所示,相比較于 HDFS,XGFS 具備很強的擴展性,主要通過以下幾個方面實現:

1、元數據落盤:通過 XGFS 大數據存算分離方案,文件元數據將保存在 XMDS 元數據池,元數據將直接寫入 NVMe/SCM/SATA SSD 盤,不會產生內存空間的瓶頸問題。通過大容量的 NVMe/SCM/SATA SSD 的元數據空間,可以輕松保存和處理百億規(guī)模文件;

2、統(tǒng)一命名空間:XGFS 統(tǒng)一命名空間同時支持多個存儲池,用戶添加存儲池時無需添加新的命名空間,不會增加管理負擔;

3、整池擴容:XGFS 支持整池擴容,當在線添加新的存儲池時,已有存儲池無需重平衡,不影響在線業(yè)務;

4、在線設定存儲池角色:XGFS 支持在線設定存儲池角色:活動池和非活動池。當某一存儲池設定為非活動池后,將不再接受新文件的分配寫入,只支持已有文件的數據讀、寫、刪除操作;

5、無狀態(tài)網關:XGFS HDFS 網關提供無狀態(tài)服務,不保存狀態(tài)數據,實例可以水平拓展,通過負載均衡將請求分發(fā)到各個節(jié)點。

通過以上四個擴展性方面的強化,XGFS可以帶來以下客戶價值:

1、XGFS 通過元數據落盤解決了HDFS一直以來因為 NameNode 元數據內存瓶頸導致的擴展受限的問題;

2、相比較于 HDFS 通過 HDFS Federation 聯邦帶來的多組 NameNode、多個 NamesSpace 管理運維困難問題,XGFS 統(tǒng)一命名空間支持多個存儲池,減少了運維管理上的問題;

3、存儲資源池存儲空間不足時,可通過硬件設備創(chuàng)建一個新的存儲資源池,并實現整池擴容,用戶可在不改變業(yè)務訪問路徑的情況下實現擴容,有效避免了類似 HDFS 在擴容后需要手動進行數據重平衡的問題,避免了擴容對在線業(yè)務性能的沖擊。同時多存儲池間故障隔離,可以有效應對極端異常時批量壞盤場景;

4、客戶可按需將已有寫滿的數據池設置為非活動池,作為數據長期存儲使用;

5、XGFS HDFS 分布式網關都是無狀態(tài)網關,橫向擴展不受限制,可以隨著集群規(guī)模的擴展近似線性地提升 IOPS 性能。

◆數據災備

XGFS 在大數據容災場景支持同步復制和異步復制兩種方式:

同步復制

可通過延展集群的方式實現園區(qū)或同城的數據中心級雙活及數據災備,實現RPO=0,數據零丟失。延展集群是分布式存儲實現數據跨站點雙活的解決方案。延展集群將存儲集群從單個站點擴展到兩個站點,存儲池中數據副本跨站點分布,實現了更高級別的可用性。延展集群可以替代傳統(tǒng)共享存儲集群或存儲鏡像集群等解決方案,實現園區(qū)或同城的數據中心級雙活及災難恢復。很好的解決了HDFS無原生雙活方案的問題,通過引入HDFS 分布式網關,就能快速的實現數據和業(yè)務雙活部署的需求。

異步復制

將多個XGFS部署在不同的機房(站點),通過 X3DS 數據管理工具,實現不同站點間的文件數據異步復制,當主站點故障后,大數據應用可切換至備站點,從而滿足大數據應用容災備份的需求,提高業(yè)務可靠性;同時,X3DS 在進行數據異步復制的同時,可靈活配置復制策略及數據復制 QoS 控制,降低業(yè)務影響。

四、典型場景

與原 HDFS 共存 ——Viewfs

針對大數據體系非常龐大,業(yè)務使用場景復雜的用戶,可以使用新舊存儲共存的方案。小規(guī)模高性能實時場景仍然使用 HDFS,其他大規(guī)模的數據可以存放在 XGFS。因大規(guī)模的數據都在 XGFS 中,所以后續(xù)擴容主要是針對 XGFS 的擴容,可以降低對 HDFS 的依賴,存儲計算各自按需擴容。

新舊存儲共存方案可通過 VIewfs 實現 XGFS 與原 HDFS 的共存。在集群的 core-site 配置中,fs.defaultFS 被設置為 ViewFS 的 root 目錄,也就是指定的 mount-table。XGFS、HDFS 的掛載目錄則在 mount-tables 中分別指定。

替換原有 HDFS

針對HDFS替換場景,原 HDFS 數據可通過 X3DS 遷移至 XGFS,同時新產生的數據可以直接寫入XGFS。且 XGFS 支持對接多套大數據集群,各個集群無需進行數據的復制遷移,可直接通過原生 HDFS 協(xié)議讀取同一套 XGFS 中的數據。另外 XGFS 5.2 具備全協(xié)議特性,除原生的 HDFS 協(xié)議以外,還可以兼容 NFS/CIFS/FTP/S3 等不同協(xié)議的上層應用。

做 HDFS 二級存儲——同城/異地

針對用戶存在大量冷數據,但是需要隨時被 HDFS 調用的場景,可將 XGFS 作為 HDFS 的二級存儲使用。通過將大量訪問頻率不高的冷數據從 HDFS 遷移至 XGFS 中作為備份歸檔用,在實現分級存儲的同時又可減輕 HDFS 存儲的壓力,擴容方面也可實現一定的按需擴容,而不用和計算資源強綁定。

另外,為應對冷數據隨時可能被 Hadoop 調用的可能,XGFS 可以考慮通過 viewfs 實現Hadoop 計算集群的對接,方便 Hadoop 計算層通過原生 HDFS 協(xié)議調用 XGFS 中的冷數據。同時,XGFS 具備全協(xié)議特性,針對不同協(xié)議的上層應用,可直接訪問 XGFS 中的數據。

分享到

songjy

相關推薦