通過(guò)上圖可以看到Hadoop應(yīng)用通過(guò)S3A客戶端上傳數(shù)據(jù)時(shí),需要調(diào)用S3 SDK把請(qǐng)求封裝成HTTP然后發(fā)送給XEOS的S3網(wǎng)關(guān),通過(guò)S3網(wǎng)關(guān)將數(shù)據(jù)寫(xiě)入存儲(chǔ)集群,從而達(dá)到數(shù)據(jù)上傳的目的。下載文件也是一樣的道理。
S3A雖然可以實(shí)現(xiàn)基本的計(jì)算和存儲(chǔ)分離,但基本架構(gòu)和協(xié)議兼容性上還是存在一些問(wèn)題:
由于基于標(biāo)準(zhǔn)的S3 SDK實(shí)現(xiàn),無(wú)法利用各個(gè)存儲(chǔ)系統(tǒng)之間的特性差異進(jìn)行針對(duì)性優(yōu)化
S3A因?yàn)橥ㄟ^(guò)S3 SDK來(lái)實(shí)現(xiàn),所以并不支持標(biāo)準(zhǔn)Hadoop文件系統(tǒng)的append、flush等操作
S3A將文件接收到本機(jī)硬盤(pán)后,再并發(fā)的分片上傳到對(duì)象存儲(chǔ),對(duì)于本地磁盤(pán)IO有較大開(kāi)銷,同時(shí)如果出現(xiàn)斷電、壞盤(pán)等異常,會(huì)造成已寫(xiě)入到本地未回傳的數(shù)據(jù)無(wú)法訪問(wèn)
元數(shù)據(jù)加速方案
由于對(duì)象存儲(chǔ)元key-value元數(shù)據(jù)機(jī)制的限制,在hadoop場(chǎng)景中當(dāng)有大量元數(shù)據(jù)相關(guān)訪問(wèn)或者操作時(shí),元數(shù)據(jù)服務(wù)可能成為hadoop應(yīng)用性能的瓶頸,因此業(yè)界出現(xiàn)了在對(duì)象存儲(chǔ)系統(tǒng)外部維護(hù)專用的元數(shù)據(jù)服務(wù)的方案,如Alluxio等方案,他們通過(guò)獨(dú)立的元數(shù)據(jù)服務(wù)來(lái)向hadoop提供高性能的元數(shù)據(jù)訪問(wèn),同時(shí)通過(guò)內(nèi)部機(jī)制與對(duì)象存儲(chǔ)實(shí)現(xiàn)元數(shù)據(jù)的最終一致性。
該類型方案能為元數(shù)據(jù)性能帶來(lái)較大的提升,但同時(shí)需要引入獨(dú)立的元數(shù)據(jù)服務(wù),同時(shí)存在著以下幾類挑戰(zhàn):
獨(dú)立元數(shù)據(jù)與對(duì)象存儲(chǔ)實(shí)際數(shù)據(jù)的一致性管理
獨(dú)立元數(shù)據(jù)引入的資源開(kāi)銷,如CPU、SSD等
獨(dú)立元數(shù)據(jù)后與對(duì)象存儲(chǔ)數(shù)據(jù)的互通方案
XSKY 星辰天合基于對(duì)象存儲(chǔ)的大數(shù)據(jù)方案——XHFS
方案介紹
XHFS借鑒了S3A的實(shí)現(xiàn)方案,在計(jì)算端集成了XHFS模塊,XHFS實(shí)現(xiàn)了Hadoop FileSystem的list、delete、rename、mkdir等接口,以及InputStream和OutputStream的XEOS對(duì)象讀寫(xiě)功能。
·強(qiáng)一致模型
不同于部分對(duì)象存儲(chǔ)產(chǎn)品無(wú)法提供數(shù)據(jù)的強(qiáng)一致語(yǔ)義,如并發(fā)寫(xiě)入時(shí)無(wú)法保證一定能讀到最新的數(shù)據(jù),所以需要應(yīng)用層利用外部機(jī)制進(jìn)行強(qiáng)一致保障,如引入S3Guard等方案增加復(fù)雜度和成本,而XEOS原生提供強(qiáng)一致語(yǔ)義,無(wú)需引入復(fù)雜的業(yè)務(wù)邏輯進(jìn)行強(qiáng)一致保障。
·高效重命名
重命名通常對(duì)于對(duì)象存儲(chǔ)是開(kāi)銷較大的動(dòng)作,但大數(shù)據(jù)場(chǎng)景利用目錄重命名來(lái)進(jìn)行CAS(Compare And Swap,即比較并交換)的操作比較常見(jiàn),CAS操作即將計(jì)算過(guò)程數(shù)據(jù)寫(xiě)入臨時(shí)目錄,在任務(wù)結(jié)束時(shí)進(jìn)行目錄的總體重命名,這就對(duì)使用對(duì)象存儲(chǔ)作為大數(shù)據(jù)底座的方式帶來(lái)了比較大的挑戰(zhàn)。
XEOS通過(guò)存儲(chǔ)后端優(yōu)化,可以實(shí)現(xiàn)快速的對(duì)象重命名和目錄重命名,XHFS利用XEOS內(nèi)部接口能夠向應(yīng)用提供高效的文件重命名和目錄重命名功能。
·高性能寫(xiě)入
XHFS將OutputStream改造為對(duì)象追加寫(xiě)的方式,能夠提供更高性能的數(shù)據(jù)寫(xiě)入方式,同時(shí)能大幅降低寫(xiě)入過(guò)程中斷電等異常造成的數(shù)據(jù)寫(xiě)入失敗的數(shù)據(jù)量。
·hflush、hsync支持
基于XEOS的特性,XHFS可以兼容hflush、hsync等對(duì)寫(xiě)入一致性要求嚴(yán)格的語(yǔ)義。
方案優(yōu)勢(shì)
·海量存儲(chǔ),數(shù)據(jù)入湖
全局視角的多存儲(chǔ)平臺(tái)管理,單桶千億對(duì)象規(guī)格,分布式存儲(chǔ)架構(gòu)無(wú)限橫向擴(kuò)展,無(wú)需數(shù)據(jù)重平衡的整存儲(chǔ)池?cái)U(kuò)容、整存儲(chǔ)平臺(tái)擴(kuò)容、整站點(diǎn)擴(kuò)容,大規(guī)格EC策略以及數(shù)據(jù)分層保證數(shù)據(jù)長(zhǎng)期、低成本的存放。
XEOS可以提供S3、NFS、HDFS的數(shù)據(jù)訪問(wèn)互通,可直接將XEOS直接作為數(shù)據(jù)源進(jìn)行大數(shù)據(jù)分析,無(wú)需將數(shù)據(jù)加載到HDFS后進(jìn)行分析,從而可以降低成本,提高生產(chǎn)效率。
·數(shù)據(jù)流動(dòng),無(wú)縫互通
通過(guò)XHFS可將XEOS作為數(shù)據(jù)存儲(chǔ)與流轉(zhuǎn)中心,根據(jù)業(yè)務(wù)數(shù)據(jù)的特點(diǎn)通過(guò)生命周期管理、數(shù)據(jù)復(fù)制讓數(shù)據(jù)按需流動(dòng),滿足不同組件的性能和成本要求。結(jié)合XHFS與HDFS協(xié)議互通的特性,打破應(yīng)用間數(shù)據(jù)壁壘,助力數(shù)據(jù)價(jià)值挖掘。
·擁抱混合云架構(gòu)
無(wú)縫對(duì)接公有云,通過(guò)生命周期的流動(dòng)、鏡像、歸檔,輕松上云;通過(guò)回源的重定向、代理、鏡像、CDN、重建,輕松下云。多種模式按需使用,發(fā)揮公有云的成本優(yōu)勢(shì),進(jìn)一步降低TCO。
摘要:基于數(shù)據(jù)湖存儲(chǔ)的對(duì)象大數(shù)據(jù)XHFS方案,靈活適配S3A大數(shù)據(jù)生態(tài),全生命周期管理,無(wú)縫上下云。
適用場(chǎng)景
·HDFS與XHFS共存模式
根據(jù)數(shù)據(jù)熱度的差異選擇不同的存儲(chǔ)方案,將溫?zé)釘?shù)據(jù)放置在HDFS上滿足高性能要求,較冷的數(shù)據(jù)通過(guò)XHFS存放到XEOS滿足低成本的長(zhǎng)期保存,通過(guò)ViewFS提供統(tǒng)一的訪問(wèn)入口,對(duì)應(yīng)用屏蔽存儲(chǔ)形態(tài)差異。從而實(shí)現(xiàn)計(jì)算資源的緊密整合,獲得高性能、低成本的大數(shù)據(jù)服務(wù),提升企業(yè)數(shù)據(jù)價(jià)值。
·海量冷數(shù)據(jù)存儲(chǔ)和分析
對(duì)象存儲(chǔ)天然具有高可擴(kuò)展性和低成本的優(yōu)勢(shì),是作為數(shù)據(jù)湖存儲(chǔ)的不二選擇。通過(guò)XHFS將海量的HDFS數(shù)據(jù)存入對(duì)象存儲(chǔ),不但能獲得更低的存儲(chǔ)成本,同時(shí)可以實(shí)現(xiàn)冷數(shù)據(jù)的就地分析和管理,大幅降低企業(yè)的數(shù)據(jù)管理復(fù)雜度。
成功案例
上海金山區(qū)政府政務(wù)大數(shù)據(jù)應(yīng)用平臺(tái)
該項(xiàng)目主要包含數(shù)據(jù)采集系統(tǒng)、大數(shù)據(jù)平臺(tái)和大數(shù)據(jù)可視化展示三個(gè)部分,通過(guò)平臺(tái)建設(shè)有效利用政務(wù)信息數(shù)據(jù)資源,提升服務(wù)質(zhì)量、降低服務(wù)成本、增強(qiáng)決策科學(xué)性,為簡(jiǎn)化審批流程、提高審批和服務(wù)效能創(chuàng)造良好基礎(chǔ)。實(shí)現(xiàn)了業(yè)務(wù)類型數(shù)據(jù)資源的采集、稽查及處理,通過(guò)數(shù)據(jù)質(zhì)量報(bào)告對(duì)業(yè)務(wù)和技術(shù)規(guī)范性做檢驗(yàn)指導(dǎo);實(shí)現(xiàn)政務(wù)服務(wù)基本情況和靚點(diǎn)工作的成果應(yīng)用展現(xiàn);完成了政務(wù)服務(wù)、放管服改革成效與雙創(chuàng)環(huán)境建設(shè)等方面的指標(biāo)設(shè)計(jì),展現(xiàn)政務(wù)服務(wù)過(guò)程的整體圖景。
同城雙活部署架構(gòu)
本項(xiàng)目利用XEDP同時(shí)交付塊存儲(chǔ)和對(duì)象存儲(chǔ)(即XEOS),一個(gè)機(jī)房一套存儲(chǔ),同時(shí)采用同城雙活的災(zāi)備部署架構(gòu),利用XSKY SDS的延展集群功能,實(shí)現(xiàn)兩個(gè)機(jī)房的實(shí)時(shí)數(shù)據(jù)同步和災(zāi)備,通過(guò)在存儲(chǔ)層實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ)和訪問(wèn)的雙活,大幅簡(jiǎn)化應(yīng)用雙活部署難度,實(shí)現(xiàn)快速的雙活部署
業(yè)務(wù)邏輯架構(gòu)
將XEDP/XEOS作為海量存儲(chǔ)的數(shù)據(jù)湖底座,得益于XHFS的兼容性實(shí)現(xiàn)了大數(shù)據(jù)相關(guān)組件無(wú)縫遷移和訪問(wèn)。方案中XHFS與HDFS共存,將關(guān)系型熱數(shù)據(jù)寫(xiě)入HBase,保留小規(guī)模HDFS集群以獲取更高的本地性能;而對(duì)于海量的非結(jié)構(gòu)化數(shù)據(jù),通過(guò)Sqoop將數(shù)據(jù)源直接導(dǎo)入XHFS,并由XHFS支撐Hive讀寫(xiě)和分析請(qǐng)求,以獲取長(zhǎng)期海量低成本存儲(chǔ)的收益?;赬HFS的數(shù)據(jù)湖,不但能接入大數(shù)據(jù)存儲(chǔ),同時(shí)能很好的作為web應(yīng)用平臺(tái)等數(shù)據(jù)的存儲(chǔ)目標(biāo),實(shí)現(xiàn)多協(xié)議互通訪問(wèn),達(dá)到數(shù)據(jù)湖存儲(chǔ)的目的。
方案優(yōu)勢(shì)
XEDP同時(shí)交付多種存儲(chǔ)方式,一個(gè)機(jī)房一套存儲(chǔ),滿足各類業(yè)務(wù)需求
快速、便捷實(shí)現(xiàn)雙活災(zāi)備機(jī)制
數(shù)據(jù)統(tǒng)一入湖,數(shù)據(jù)互通,各組件數(shù)據(jù)協(xié)同生產(chǎn)消費(fèi)
充分發(fā)揮HDFS和對(duì)象各自優(yōu)勢(shì),達(dá)到最佳TCO?。