騰訊云基于Alluxio優(yōu)化計(jì)算存儲(chǔ)分離架構(gòu)的最佳實(shí)踐

來(lái)源: 云加社區(qū)
作者:云加社區(qū)
時(shí)間:2021-01-06
17328
騰訊云EMR團(tuán)隊(duì)與Alluxio社區(qū)合作,探索出了開(kāi)箱即用的計(jì)算存儲(chǔ)分離優(yōu)化版本,大幅優(yōu)化網(wǎng)絡(luò)帶寬,帶寬削峰20%-50%,節(jié)省總帶寬10%-50%,同時(shí)能在IO密集型場(chǎng)景提升性能5%-40%,下面就讓我們來(lái)一探究竟。

導(dǎo)語(yǔ)|隨著企業(yè)大數(shù)據(jù)規(guī)模和應(yīng)用的增長(zhǎng)和發(fā)展,計(jì)算與存儲(chǔ)分離的架構(gòu)漸漸成為主流,它解決了計(jì)算量和存儲(chǔ)量不匹配問(wèn)題,實(shí)現(xiàn)了算力的按需使用,但也引來(lái)了一些新的問(wèn)題。騰訊云EMR團(tuán)隊(duì)與Alluxio社區(qū)合作,探索出了開(kāi)箱即用的計(jì)算存儲(chǔ)分離優(yōu)化版本,大幅優(yōu)化網(wǎng)絡(luò)帶寬,帶寬削峰20%-50%,節(jié)省總帶寬10%-50%,同時(shí)能在IO密集型場(chǎng)景提升性能5%-40%,下面就讓我們來(lái)一探究竟。

一、當(dāng)前大數(shù)據(jù)挑戰(zhàn)

近年來(lái),隨著大數(shù)據(jù)規(guī)模的增長(zhǎng),以及大數(shù)據(jù)應(yīng)用的發(fā)展,大數(shù)據(jù)技術(shù)的架構(gòu)也在持續(xù)演進(jìn)。早期的技術(shù)架構(gòu)是計(jì)算資源和存儲(chǔ)資源高度融合,計(jì)算和存儲(chǔ)資源一體化存在以下明顯的挑戰(zhàn):

1.數(shù)據(jù)孤島

如今,企業(yè)擁有PB級(jí)數(shù)據(jù)已經(jīng)成為常態(tài),EB級(jí)數(shù)據(jù)時(shí)代也將很快到來(lái)。企業(yè)需要面向結(jié)構(gòu)化數(shù)據(jù)、非結(jié)構(gòu)化數(shù)據(jù)、實(shí)時(shí)數(shù)據(jù)等多種類型的數(shù)據(jù)提供高擴(kuò)展且統(tǒng)一的數(shù)據(jù)管理和數(shù)據(jù)存儲(chǔ)能力。

2.剛性擴(kuò)容

在數(shù)據(jù)空間持續(xù)增長(zhǎng)的背景下,大數(shù)據(jù)應(yīng)用場(chǎng)景不斷增加,對(duì)企業(yè)算力的需求也在加劇提升。而同時(shí),新品發(fā)布、熱點(diǎn)事件等帶來(lái)的業(yè)務(wù)浪涌,也需要企業(yè)大數(shù)據(jù)系統(tǒng)擁有極致的彈性能力。

3.利用率低

大數(shù)據(jù)行業(yè)技術(shù)棧迭代迅速,企業(yè)自行構(gòu)建IDC中心和自行部署軟件,一次性投資大,且折舊成本高,運(yùn)營(yíng)運(yùn)維負(fù)擔(dān)沉重。

4.作業(yè)擁塞

隨著業(yè)務(wù)的發(fā)展,在數(shù)據(jù)量巨大的背景下,單次分析作業(yè)常需要讀取TB-PB級(jí)的數(shù)據(jù),多任務(wù)并發(fā)下,極易出現(xiàn)作業(yè)擁塞。

面對(duì)以上挑戰(zhàn),傳統(tǒng)的以私有數(shù)據(jù)中心為基礎(chǔ)的存算一體大數(shù)據(jù)架構(gòu),已無(wú)法滿足企業(yè)海量數(shù)據(jù)分析的需求。業(yè)界知名分析機(jī)構(gòu)IDC在最新的報(bào)告中明確指出:企業(yè)上云已成必然趨勢(shì)。因此,在公有云上部署更靈活高效的大數(shù)據(jù)分析平臺(tái),將成為企業(yè)的必然選擇。

二、騰訊云彈性MapReduce(EMR)

目前越來(lái)越多的企業(yè)開(kāi)始選擇使用計(jì)算和存儲(chǔ)分離的架構(gòu),以應(yīng)對(duì)更低成本的要求,和兼顧資源擴(kuò)展的靈活性。

640.png

傳統(tǒng)計(jì)算存儲(chǔ)一體架構(gòu)

640.png

計(jì)算存儲(chǔ)分離架構(gòu)

目前騰訊云彈性MapReduce(EMR)[1]支持了三種存儲(chǔ)系統(tǒng):EMR-HDFS、EMR-COS[2]、EMR-CHDFS[3],其中EMR-COS和EMR-CHDFS在EMR中都是開(kāi)箱即用的原生支持計(jì)算存儲(chǔ)分離的方案,其具體應(yīng)用場(chǎng)景及特點(diǎn)如下:

1609900583(1).png

元數(shù)據(jù)操作效率高,能夠與HDFS相當(dāng),能夠有效規(guī)避COS文件系統(tǒng)元數(shù)據(jù)操作耗時(shí)以及高頻訪問(wèn)下可能引發(fā)不穩(wěn)定的問(wèn)題。但在實(shí)際使用場(chǎng)景中,因?yàn)榭赡艽嬖诙鄠€(gè)數(shù)據(jù)存儲(chǔ)源管理復(fù)雜,部分業(yè)務(wù)場(chǎng)景對(duì)數(shù)據(jù)源的IO訪問(wèn)密集造成網(wǎng)絡(luò)壓力大,訪問(wèn)不穩(wěn)定等問(wèn)題。所以我們基于Alluxio進(jìn)一步優(yōu)化計(jì)算和存儲(chǔ)架構(gòu),更好的滿足業(yè)務(wù)應(yīng)用上的需求。

三、基于Alluxio優(yōu)化計(jì)算存儲(chǔ)分離架構(gòu)

傳統(tǒng)計(jì)算存儲(chǔ)分離,解決了計(jì)算量和存儲(chǔ)量不匹配問(wèn)題,實(shí)現(xiàn)了算力的按需使用,大幅節(jié)省了運(yùn)維規(guī)劃時(shí)間以及閑置的算力成本。但直接使用計(jì)算存儲(chǔ)分離架構(gòu),也引入了新的問(wèn)題:

·在IO密集型的場(chǎng)景下,網(wǎng)絡(luò)帶寬會(huì)成為瓶頸,可能導(dǎo)致計(jì)算&存儲(chǔ)資源利用不充分;

·數(shù)據(jù)本地化不夠,導(dǎo)致很多shuffle過(guò)程的重復(fù)計(jì)算,造成部分浪費(fèi)計(jì)算資源的浪費(fèi);

·可能存在多種甚至異構(gòu)的存儲(chǔ)源,增加了管理難度。

為此,騰訊云EMR團(tuán)隊(duì)與Alluxio社區(qū)合作,引入最新alluxio2.3.0 Release版本進(jìn)行深度優(yōu)化,推出開(kāi)箱即用的計(jì)算存儲(chǔ)分離優(yōu)化版本:EMR2.5.0/EMR3.1.0/EMR-TianQiong-1.0,解決上述問(wèn)題。

1.提供內(nèi)存級(jí)I/O能力

Alluxio能夠用作分布式共享緩存服務(wù),這樣與Alluxio通信的計(jì)算應(yīng)用程序可以透明地緩存頻繁訪問(wèn)的數(shù)據(jù)(尤其是從遠(yuǎn)程位置),以提供內(nèi)存級(jí)I/O吞吐率。此外,Alluxio的層次化存儲(chǔ)機(jī)制能夠充分利用內(nèi)存、固態(tài)硬盤或者磁盤,降低具有彈性擴(kuò)張?zhí)匦缘臄?shù)據(jù)驅(qū)動(dòng)型應(yīng)用的成本開(kāi)銷。

2.提高數(shù)據(jù)本地性

利用Alluxio提供的分布式緩存服務(wù),在部署Alluxio數(shù)據(jù)節(jié)點(diǎn)(Alluxio-Worker)時(shí)和計(jì)算節(jié)點(diǎn)部署在一起,可以直接從數(shù)據(jù)節(jié)點(diǎn)中以內(nèi)存級(jí)IO速度檢索讀取數(shù)據(jù),而不是從底層云存儲(chǔ)或?qū)ο蟠鎯?chǔ)中檢索讀取,提高了數(shù)據(jù)本地性。

3.簡(jiǎn)化云存儲(chǔ)和對(duì)象存儲(chǔ)接入

與傳統(tǒng)文件系統(tǒng)相比,云存儲(chǔ)系統(tǒng)和對(duì)象存儲(chǔ)系統(tǒng)使用不同的語(yǔ)義,這些語(yǔ)義對(duì)性能的影響也不同于傳統(tǒng)文件系統(tǒng)。在云存儲(chǔ)和對(duì)象存儲(chǔ)系統(tǒng)上進(jìn)行常見(jiàn)的文件系統(tǒng)操作(如列出目錄和重命名)通常會(huì)導(dǎo)致顯著的性能開(kāi)銷。當(dāng)訪問(wèn)云存儲(chǔ)中的數(shù)據(jù)時(shí),應(yīng)用程序沒(méi)有節(jié)點(diǎn)級(jí)數(shù)據(jù)本地性或跨應(yīng)用程序緩存。

4.簡(jiǎn)化數(shù)據(jù)管理

Alluxio提供對(duì)多數(shù)據(jù)源的單點(diǎn)訪問(wèn)。除了連接不同類型的數(shù)據(jù)源之外,Alluxio還允許用戶同時(shí)連接同一存儲(chǔ)系統(tǒng)的不同版本,如多個(gè)版本的HDFS以及云上COS/CHDFS,只需基于EMR配套的簡(jiǎn)單配置下發(fā)和管理管理功能。

在引入Alluxio后,EMR基于Alluxio的存算分離的整體架構(gòu)變成了:

640 (1).png

這樣,EMR的計(jì)算引擎(Spark,MapReduce,Presto等)就可以統(tǒng)一通過(guò)Alluxio來(lái)提升性能,降低網(wǎng)絡(luò)峰值帶寬,以及簡(jiǎn)化數(shù)據(jù)管理。

四、性能評(píng)估及調(diào)優(yōu)

為了分析理解使用Alluxio存儲(chǔ)在主流查詢引擎Spark性能上差異,我們使用大數(shù)據(jù)壓測(cè)工具TPC-DS進(jìn)行了一些性能壓測(cè)。我們使用的環(huán)境及配置如下:

·EMR版本:EMR-2.5.0;

·選擇組件:zookeeper-3.6.1,hadoop-2.8.5,hive-2.3.7,spark_hadoop2.8-3.0.0,tez-0.9.2,alluxio-2.3.0,knox-1.2.0;

·壓測(cè)配置,使用了1個(gè)EMR的Master節(jié)點(diǎn)和25個(gè)CORE節(jié)點(diǎn),具體如下:

640 (2).png

1.帶寬評(píng)估

640 (3).png

640 (4).png

從壓測(cè)結(jié)果可以看到,能大幅優(yōu)化計(jì)算存儲(chǔ)分離網(wǎng)絡(luò)帶寬,節(jié)省峰值帶寬(削峰)20%-50%,節(jié)省總帶寬(10%-50%)。

2.查詢性能評(píng)估

640 (5).png

640 (6).png

從壓測(cè)結(jié)果可以看到,在大部分場(chǎng)景下能優(yōu)化性能,特別是IO密集型,優(yōu)化性能5%-40%。

3.性能調(diào)優(yōu)及專項(xiàng)優(yōu)化

為了更好滿足計(jì)算存儲(chǔ)分離場(chǎng)景,EMR團(tuán)隊(duì)針對(duì)Alluxio做了專項(xiàng)調(diào)優(yōu),具體包括:

(1)數(shù)據(jù)本地性

為了更好滿足數(shù)據(jù)本地,EMR在部署Alluxio時(shí),在core節(jié)點(diǎn)把a(bǔ)lluxio-worker同計(jì)算節(jié)點(diǎn)部署在一起,這樣yarn等計(jì)算服務(wù)節(jié)點(diǎn)可以在同一個(gè)節(jié)點(diǎn)中與alluxio-worker節(jié)點(diǎn)通信,大量提升了效率。

另一方面,結(jié)合alluxio已經(jīng)提供的讀寫策略,結(jié)合存算分離場(chǎng)景優(yōu)化了block.read.location.policy,writetype.default等策略,讓alluxio的緩存能力更好滿足本地性。

(2)元數(shù)據(jù)優(yōu)化

Alluxio基于Presto實(shí)現(xiàn)了Catalog Service,并且實(shí)現(xiàn)了計(jì)算框架端的Connector,Alluxio可以感知并管理結(jié)構(gòu)化數(shù)據(jù)的元數(shù)據(jù),大大簡(jiǎn)化表級(jí)別的使用成本。同時(shí),騰訊內(nèi)部在大規(guī)模使用Alluxio時(shí),我們發(fā)現(xiàn)Alluxio本身的inode元數(shù)據(jù)也面臨著膨脹的風(fēng)險(xiǎn)。為此結(jié)合Alluxio提供的Catalog Service和Path緩存能力,優(yōu)化了path.caching.thread和path.cache.capacity等策略。

更多meta具體優(yōu)化可參考,社區(qū)meta優(yōu)化[4]及catalog介紹[5]。

(3)Java GC的影響

Alluxio作為Java的進(jìn)程,其GC的經(jīng)常影響其性能表現(xiàn),為此,EMR團(tuán)隊(duì)引入了Tencent Kona,經(jīng)過(guò)了內(nèi)部大數(shù)據(jù)和AI等業(yè)務(wù)場(chǎng)景的驗(yàn)證,為JAVA生態(tài)提供專業(yè)持續(xù)的保障。Kona在GC線程調(diào)度優(yōu)化,物理內(nèi)存釋放優(yōu)化等方面有優(yōu)秀表現(xiàn),更多功能特性可見(jiàn):Kona JDK[6]。

上述的這些能力和優(yōu)化,在存算分離場(chǎng)景下,騰訊云EMR產(chǎn)品針對(duì)這種場(chǎng)景都已經(jīng)直接提供了開(kāi)箱即用的能力,直接在騰訊云EMR產(chǎn)品購(gòu)買頁(yè)創(chuàng)建,或者在已有支持了alluxio的EMR版本上安裝,即可達(dá)到性能評(píng)估中效果。

五、總結(jié)

從上述的壓測(cè)結(jié)果看到,一方面有效的降低了帶寬峰值和總帶寬,從而降低帶寬成本,加速訪問(wèn);另一方面,IO密集型場(chǎng)景下的性能也有不少提升,能更好的支持IO密集型場(chǎng)景下的業(yè)務(wù)。此次基于Alluxio的優(yōu)化,讓騰訊云彈性MapReduce(EMR)產(chǎn)品更好的支持存儲(chǔ)計(jì)算分離架構(gòu),為用戶更好的滿足業(yè)務(wù)需求的同時(shí),降低成本,且保持資源擴(kuò)展的靈活性。

參考資料:

[1]騰訊云彈性MapReduce(EMR):https://intl.cloud.tencent.com/zh/product/emr

[2]騰訊云COS:https://cloud.tencent.com/product/cos/details

[3]騰訊云云HDFS(CHDFS):https://cloud.tencent.com/document/product/1105

[4]meta優(yōu)化:https://docs.alluxio.io/ee/user/stable/en/operation/Performance-Tuning.html

[5]catalog介紹:https://docs.alluxio.io/os/user/stable/cn/core-services/Catalog.html

[6]Kona JDK:https://cloud.tencent.com/document/product/589/50714

立即登錄,閱讀全文
版權(quán)說(shuō)明:
本文內(nèi)容來(lái)自于云加社區(qū),本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個(gè)人觀點(diǎn),不代表快出海對(duì)觀點(diǎn)贊同或支持。如有侵權(quán),請(qǐng)聯(lián)系管理員(zzx@kchuhai.com)刪除!
相關(guān)文章
騰訊云數(shù)據(jù)庫(kù)PostgreSQL全面支持PG 17
騰訊云數(shù)據(jù)庫(kù)PostgreSQL全面支持PG 17
即日起,騰訊云PostgreSQL全面支持PostgreSQL 17.0。所有用戶可使用大版本升級(jí)能力升級(jí)至最新的PostgreSQL 17.0進(jìn)行體驗(yàn),也可以在產(chǎn)品購(gòu)買頁(yè)直接購(gòu)買。
騰訊云
云服務(wù)
2024-12-152024-12-15
高可用這個(gè)問(wèn)題,加機(jī)器就能解決?
高可用這個(gè)問(wèn)題,加機(jī)器就能解決?
互聯(lián)網(wǎng)服務(wù)的可用性問(wèn)題是困擾企業(yè)IT人員的達(dá)摩克利斯之劍:防于未然,體現(xiàn)不出價(jià)值。已然發(fā)生,又面臨P0危機(jī)。就更別提穩(wěn)定性建設(shè)背后顯性的IT預(yù)算問(wèn)題與隱性的人員成本問(wèn)題。
騰訊云
云服務(wù)
2024-11-252024-11-25
TDSQL TDStore引擎版替換HBase:在歷史庫(kù)場(chǎng)景中的成本與性能優(yōu)勢(shì)
TDSQL TDStore引擎版替換HBase:在歷史庫(kù)場(chǎng)景中的成本與性能優(yōu)勢(shì)
HBase憑借其高可用性、高擴(kuò)展性和強(qiáng)一致性,以及在廉價(jià)PC服務(wù)器上的低部署成本,廣泛應(yīng)用于大規(guī)模數(shù)據(jù)分析。
騰訊云
云服務(wù)
2024-11-042024-11-04
復(fù)雜查詢性能弱,只讀分析引擎來(lái)幫忙
復(fù)雜查詢性能弱,只讀分析引擎來(lái)幫忙
隨著當(dāng)今業(yè)務(wù)的高速發(fā)展,復(fù)雜多表關(guān)聯(lián)的場(chǎng)景越來(lái)越普遍。但基于行式存儲(chǔ)的數(shù)據(jù)庫(kù)在進(jìn)行復(fù)雜查詢時(shí)性能相對(duì)較弱。
騰訊云
云服務(wù)
2024-11-022024-11-02
優(yōu)質(zhì)服務(wù)商推薦
更多
掃碼登錄
打開(kāi)掃一掃, 關(guān)注公眾號(hào)后即可登錄/注冊(cè)
加載中
二維碼已失效 請(qǐng)重試
刷新
賬號(hào)登錄/注冊(cè)
個(gè)人VIP
小程序
快出海小程序
公眾號(hào)
快出海公眾號(hào)
商務(wù)合作
商務(wù)合作
投稿采訪
投稿采訪
出海管家
出海管家