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

Hadoop 免費午餐結(jié)束,用戶如何選擇?

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

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

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

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

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

存算分離優(yōu)勢

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

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

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

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

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

當前存算分離實現(xiàn)方案

客戶端模式

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

服務端模式

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

三、XSKY 基于分布式文件的大數(shù)據(jù)方案

原生 HDFS 大數(shù)據(jù)方案

方案介紹

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

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

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

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

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

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

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

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

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

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

方案優(yōu)勢

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

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

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

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

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

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

◆用戶和用戶組權(quán)限兼容性

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

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

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

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

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

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

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

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

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

◆EC 糾刪碼

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

如上圖所示,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 具體值,方便用戶根據(jù)資源情況自定義 K+M,使得資源使用最大化。

◆擴展性

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

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

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

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

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

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

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

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

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

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

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

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

◆數(shù)據(jù)災備

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

同步復制

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

異步復制

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

四、典型場景

與原 HDFS 共存 ——Viewfs

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

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

替換原有 HDFS

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

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

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

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

分享到

songjy

相關推薦