解密華為云FusionInsight MRS單集群2萬(wàn)節(jié)點(diǎn)優(yōu)化實(shí)踐
【導(dǎo)讀】
7月9日,中國(guó)信通院在大數(shù)據(jù)產(chǎn)業(yè)峰會(huì)·成果發(fā)布會(huì)上公布了本次大數(shù)據(jù)產(chǎn)品能力評(píng)估的結(jié)果。不難看出,隨著5G、互聯(lián)網(wǎng)、IoT的發(fā)展,大數(shù)據(jù)技術(shù)在分布式批處理平臺(tái)的基礎(chǔ)能力方面進(jìn)一步加強(qiáng),針對(duì)大規(guī)模單集群的能力尤為看重,其中華為云FusionInsight MRS成功突破單集群2萬(wàn)+節(jié)點(diǎn),刷新業(yè)內(nèi)記錄。
數(shù)據(jù)分析技術(shù)加速大規(guī)模單集群落地
眾所周知,企業(yè)最早的分析系統(tǒng)是Share Everything單機(jī)形態(tài),為了滿足不斷增加的數(shù)據(jù)分析訴求,后續(xù)催生了小型機(jī)市場(chǎng)與Shared Disk,架構(gòu)思路依然是在單系統(tǒng)或者共享存儲(chǔ)Disk上不斷的增強(qiáng)單系統(tǒng)的處理能力。為了突破單機(jī)的瓶頸,有開(kāi)拓者通過(guò)Shared Nothing架構(gòu)進(jìn)行創(chuàng)新,即各個(gè)處理單元都有自己私有的CPU、內(nèi)存、硬盤(pán)等,不存在共享資源,從而實(shí)現(xiàn)大規(guī)模的并行分析。此時(shí)的創(chuàng)新都是基于專有硬件進(jìn)行,系統(tǒng)建設(shè)成本高,導(dǎo)致部分企業(yè)通過(guò)定期刪除系統(tǒng)里的數(shù)據(jù)來(lái)避免擴(kuò)容,極大壓抑了企業(yè)數(shù)據(jù)分析的訴求。
為了解決海量數(shù)據(jù)分析訴求和降低系統(tǒng)建設(shè)成本,兩種全新的架構(gòu)系統(tǒng)應(yīng)運(yùn)而生,一種是基于通用服務(wù)器的Share Nothing架構(gòu),最典型的代表是基于數(shù)據(jù)庫(kù)發(fā)展的MPP系統(tǒng);另一種是海量數(shù)據(jù)分析的Hadoop大數(shù)據(jù)分析系統(tǒng)。
MPP系統(tǒng)受限于單點(diǎn)瓶頸的架構(gòu)設(shè)計(jì),擴(kuò)展性不足,導(dǎo)致其進(jìn)行海量數(shù)據(jù)時(shí)能力不足;而原生的Hadoop系統(tǒng)由于一開(kāi)始就瞄準(zhǔn)PB/EB級(jí)的數(shù)據(jù),在TB級(jí)的小數(shù)據(jù)交互式分析中存在不足,雖然解決了海量數(shù)據(jù)分析問(wèn)題,但是并不能幫助客戶減少原有煙囪投資的系統(tǒng),導(dǎo)致企業(yè)各種分析系統(tǒng)煙囪林立,形成數(shù)據(jù)孤島。
時(shí)至今日,5G、互聯(lián)網(wǎng)、IoT迅猛發(fā)展,數(shù)據(jù)的規(guī)模量級(jí)與種類(lèi)都在極速增長(zhǎng),對(duì)大數(shù)據(jù)平臺(tái)的數(shù)據(jù)分析能力提出了更高的要求,如何實(shí)現(xiàn)統(tǒng)一的基礎(chǔ)數(shù)據(jù)供各個(gè)業(yè)務(wù)分析系統(tǒng)使用,面向海量租戶如何提供隔離的、高并發(fā)的交互式分析引擎,避免數(shù)據(jù)搬遷、減少數(shù)據(jù)冗余、消除數(shù)據(jù)孤島等成為大數(shù)據(jù)平臺(tái)急需解決的問(wèn)題。
為此,一個(gè)具備全量數(shù)據(jù)統(tǒng)一分析的融合大數(shù)據(jù)平臺(tái)才是企業(yè)的心之所向,既要實(shí)現(xiàn)全量數(shù)據(jù)的統(tǒng)一分析,又要支持批、流、交互式融合分析的不斷演進(jìn),還要滿足面向未來(lái)發(fā)展可無(wú)限擴(kuò)展的可能,支持平滑擴(kuò)展和演進(jìn)。超大規(guī)模單集群在大數(shù)據(jù)平臺(tái)中的重要性顯而易見(jiàn),既免去了多集群數(shù)據(jù)間的重復(fù)拷貝搬遷,減少了數(shù)據(jù)冗余,有效消除數(shù)據(jù)孤島,又為數(shù)據(jù)分析的時(shí)效性提供了保障,加速數(shù)據(jù)價(jià)值變現(xiàn)。
超大規(guī)模集群的技術(shù)痛點(diǎn)
對(duì)于一個(gè)分布式系統(tǒng)來(lái)說(shuō),當(dāng)集群規(guī)模由小變大以后,簡(jiǎn)單的問(wèn)題都會(huì)變得異常復(fù)雜。歸結(jié)起來(lái),超大規(guī)模集群主要面臨以下3大技術(shù)挑戰(zhàn):
1.???? 如何實(shí)現(xiàn)面向多租戶場(chǎng)景的批、流、交互式混合負(fù)載的高效調(diào)度
數(shù)據(jù)的集中存儲(chǔ)可以通過(guò)超大集群來(lái)有效解決,而數(shù)據(jù)價(jià)值則需大量的分析來(lái)釋放。超大規(guī)模集群應(yīng)該實(shí)現(xiàn)數(shù)據(jù)T+0實(shí)時(shí)數(shù)據(jù)入湖、全量數(shù)據(jù)批量分析、數(shù)據(jù)分析師的交互式探索分析等能力,加速數(shù)據(jù)價(jià)值變現(xiàn),確保平臺(tái)的價(jià)值最大化,這些都是調(diào)度系統(tǒng)需要解決的重要問(wèn)題。
2.???? 如何面對(duì)存儲(chǔ)、計(jì)算、管理方面的新挑戰(zhàn),突破多個(gè)組件的瓶頸限制
計(jì)算方面:隨著集群規(guī)模變大,YARN的ResourceManager可調(diào)度資源和可并行任務(wù)隨之增多,這對(duì)中心調(diào)度進(jìn)程提出了更高的要求,如果調(diào)度速度跟不上,作業(yè)任務(wù)會(huì)在集群入口處堆積,導(dǎo)致集群的計(jì)算資源無(wú)法有效利用。
存儲(chǔ)方面:隨著存儲(chǔ)容量的增加,HDFS在大規(guī)模集群上需要管理的文件對(duì)象增多,HDFS NameNode與Hive的元數(shù)據(jù)量也會(huì)相應(yīng)增加。雖然開(kāi)源社區(qū)提供了NameNode聯(lián)邦機(jī)制,但需要應(yīng)用層感知不同NameNode的命名空間,使用和維護(hù)都會(huì)變得異常復(fù)雜,還容易出現(xiàn)各命名空間之間映射的數(shù)據(jù)量不均衡的問(wèn)題。同時(shí),Hive元數(shù)據(jù)量增加會(huì)對(duì)元數(shù)據(jù)庫(kù)形成極大壓力,極易導(dǎo)致SQL語(yǔ)句堆積在元數(shù)據(jù)查詢環(huán)節(jié)造成阻塞。
運(yùn)維管理方面:隨著集群規(guī)模變大,平臺(tái)的運(yùn)維管理也會(huì)遇到瓶頸問(wèn)題。如系統(tǒng)的監(jiān)控系統(tǒng),當(dāng)節(jié)點(diǎn)從5000變?yōu)?0000的時(shí)候,每秒處理的監(jiān)控指標(biāo)會(huì)從每秒60萬(wàn)增加到200多萬(wàn)條。
3.???? 如何提升大規(guī)模集群的可靠性和運(yùn)維能力,確保集群不停服
平臺(tái)的可靠性一直是平臺(tái)運(yùn)維部門(mén)最關(guān)注的點(diǎn),當(dāng)集群承擔(dān)了全集團(tuán)的全量數(shù)據(jù)統(tǒng)一加工分析之后,就意味著集群必須24小時(shí)永遠(yuǎn)在線,但是技術(shù)會(huì)不斷發(fā)展,平臺(tái)必須要確保系統(tǒng)可以支持后續(xù)的更新與升級(jí),以確保集群可面相未來(lái)持續(xù)演進(jìn)、發(fā)展。
另外,隨著集群規(guī)模的增加,機(jī)房空間不足的問(wèn)題將凸顯出來(lái)。如果簡(jiǎn)單地將一個(gè)大集群跨機(jī)房部署,在帶寬負(fù)載和可靠性上,都會(huì)面臨比較大的挑戰(zhàn)。如何做到機(jī)房級(jí)的可靠性,對(duì)一個(gè)超大規(guī)模的集群也至關(guān)重要。
解密FusionInsight MRS超大規(guī)模集群優(yōu)化實(shí)踐
針對(duì)以上各方面的挑戰(zhàn),華為云FusionInsight MRS 2萬(wàn)+規(guī)模的單集群又是如何實(shí)現(xiàn)的呢?下面一起來(lái)看看:
自研Superior超級(jí)調(diào)度器,解決超大規(guī)模調(diào)度效率和面向多租戶場(chǎng)景的混合負(fù)載問(wèn)題
FusionInsight MRS引入數(shù)據(jù)虛擬化引擎,在統(tǒng)一大集群上提供交互式查詢能力,解決面向分析師的查詢效率問(wèn)題;通過(guò)自研Superior調(diào)度器為租戶同時(shí)分配保留資源與共享資源,滿足多樣化的負(fù)載,對(duì)于更重要的業(yè)務(wù),可將一批固定的機(jī)器分配給租戶實(shí)現(xiàn)綁定固定資源池,做到物理上的隔離;通過(guò)計(jì)算引擎和調(diào)度引擎的協(xié)同,做到了數(shù)據(jù)不出湖,實(shí)現(xiàn)了在一個(gè)大平臺(tái)上的業(yè)務(wù)閉環(huán)。
在多租戶能力方面,通過(guò)以下三種方式加強(qiáng)細(xì)粒度的隔離,避免租戶間相互爭(zhēng)搶資源:
標(biāo)簽存儲(chǔ):給承載存儲(chǔ)資源的DataNode打標(biāo)簽,在文件寫(xiě)入時(shí)指定標(biāo)簽,實(shí)現(xiàn)了最大程度的存儲(chǔ)資源隔離。該特性可以有效應(yīng)用于冷熱數(shù)據(jù)存儲(chǔ)和硬件資源異構(gòu)的場(chǎng)景。
多服務(wù):在同一個(gè)集群中的不同主機(jī)資源上,部署多個(gè)同種服務(wù),不同的應(yīng)用可根據(jù)需求,使用各自的服務(wù)資源,并且相互之間互不干擾。
多實(shí)例:在同一個(gè)集群中的同一臺(tái)主機(jī)資源上,獨(dú)立部署同種服務(wù)的多個(gè)實(shí)例資源,以達(dá)到主機(jī)資源的充分利用,不與其它服務(wù)實(shí)例共享。
技術(shù)攻堅(jiān),突破計(jì)算、存儲(chǔ)、管理等各方面的瓶頸
在計(jì)算任務(wù)的調(diào)度效率方面,通過(guò)專利調(diào)度算法進(jìn)行優(yōu)化,將一維的調(diào)度轉(zhuǎn)換為二維調(diào)度,實(shí)現(xiàn)了相對(duì)開(kāi)源調(diào)度器在效率上數(shù)倍提升。在實(shí)測(cè)表現(xiàn)中, Superior相對(duì)開(kāi)源Capacity性能在同步調(diào)度情況下快30倍,在異步調(diào)度情況下快2倍。
同時(shí)通過(guò)進(jìn)一步優(yōu)化, Superior實(shí)現(xiàn)了35萬(wàn)/s個(gè)Container的調(diào)度速率,并且集群資源利用率達(dá)到98%以上,為大規(guī)模集群的平穩(wěn)商用奠定了堅(jiān)實(shí)的基礎(chǔ)。
下圖是分別在Superior和Capacity下關(guān)于“資源利用率”的監(jiān)控視圖。
Superior資源利用率接近100%
Capacity資源利用率不足
在存儲(chǔ)方面,Hadoop社區(qū)為解決HDFS在文件對(duì)象管理上的瓶頸,推出了聯(lián)邦解決方案。但是大量不同命名空間的引入,直接導(dǎo)致上層業(yè)務(wù)在開(kāi)發(fā)、管理、維護(hù)上復(fù)雜度上升。隨后,社區(qū)又推出了Router Based Federation特性,由于在NameNode之上加了一層Router進(jìn)行交互,導(dǎo)致性能下降。
為此,華為云FusionInsight MRS做了針對(duì)性優(yōu)化:
通過(guò)在大集群生產(chǎn)環(huán)境中識(shí)別關(guān)鍵瓶頸,利用合并單次讀寫(xiě)流程中的交互次數(shù)、使用改良的數(shù)據(jù)通信壓縮算法等技術(shù)方案,將性能下降控制在4%以內(nèi)。
為解決不同命名空間之間數(shù)據(jù)不均衡的問(wèn)題,利用DataMovementTool自動(dòng)均衡不同命名空間之間的數(shù)據(jù),降低了集群維護(hù)成本。
雖然Hive的社區(qū)推出了Metastore Cache來(lái)解決Hive元數(shù)據(jù)面對(duì)表/分區(qū)的問(wèn)題,但伴隨數(shù)據(jù)量的增多,多個(gè)Metastore之間的緩存一致性問(wèn)題并未有效解決。華為云FusionInsight MRS通過(guò)引入分布式緩存Redis作為替代方案,結(jié)合分布式鎖、緩存黑白名單機(jī)制、緩存生命周期管理等技術(shù)手段增強(qiáng)了Metastore Cache的可用性。
在運(yùn)維管理面方面,當(dāng)集群規(guī)模增長(zhǎng)到2萬(wàn)節(jié)點(diǎn)后,運(yùn)維壓力陡然增加:
系統(tǒng)需要采集的監(jiān)控指標(biāo)數(shù)量也從原來(lái)的每秒采集60萬(wàn)+條數(shù)據(jù),增長(zhǎng)到200萬(wàn)+條
告警并發(fā)處理從原來(lái)的200條/s增長(zhǎng)到1000條/s
配置管理的總條目數(shù)從50萬(wàn)增長(zhǎng)到200多萬(wàn)
華為云FusionInsight MRS結(jié)合新版本特性,利用Flink、HBase、Hadoop、Elasticsearch等成熟的分布式組件技術(shù),將原來(lái)的集約主從模式調(diào)整成了可彈性伸縮的分布式模式,成功解決了運(yùn)維管理面臨的難題。
通過(guò)滾動(dòng)升級(jí)/補(bǔ)丁、任務(wù)級(jí)“斷點(diǎn)續(xù)傳”、跨AZ高可用等部署能力,保障平臺(tái)持續(xù)穩(wěn)定運(yùn)行
滾動(dòng)升級(jí)/補(bǔ)丁:為了實(shí)現(xiàn)實(shí)現(xiàn)平臺(tái)升級(jí)/補(bǔ)丁等操作的業(yè)務(wù)無(wú)感知,滾動(dòng)升級(jí)功能是必不可少的。但社區(qū)能力卻不支持滾動(dòng)升級(jí),如Hadoop2到Hadoop3的大版本升級(jí),這意味著很多超大集群無(wú)法使用得到最新技術(shù)的加持,極大限制了業(yè)務(wù)的發(fā)展。華為云FusionInsight MRS通過(guò)對(duì)社區(qū)接口的兼容性處理,成功實(shí)現(xiàn)了Hadoop大版本間的滾動(dòng)升極,并在1萬(wàn)+節(jié)點(diǎn)集群規(guī)模的滾動(dòng)升級(jí)中有了成功案例。
任務(wù)級(jí)“斷點(diǎn)續(xù)傳”:在大規(guī)模集群上,持續(xù)運(yùn)行著一些超大任務(wù),動(dòng)輒包含幾十萬(wàn)個(gè)Container,這類(lèi)任務(wù)往往運(yùn)行時(shí)間長(zhǎng),中間一旦出現(xiàn)個(gè)別故障,有可能導(dǎo)致任務(wù)需重新執(zhí)行,造成大量的計(jì)算資源白白浪費(fèi)。
華為云FusionInsight MRS提供了多種機(jī)制保障任務(wù)的可靠運(yùn)行,例如:
當(dāng)Hive beeline斷連、Hive Server重啟、MapReduce JobHistory無(wú)響應(yīng)等都會(huì)導(dǎo)致Hive任務(wù)失敗,從而只能重跑任務(wù)。華為云FusionInsight MRS推出了Hive不中斷業(yè)務(wù)的能力,將beeline提交的任務(wù)與Yarn上運(yùn)行的任務(wù)進(jìn)行關(guān)聯(lián),并實(shí)時(shí)刷新任務(wù)執(zhí)行狀態(tài),當(dāng)beeline或者Hive Server發(fā)生異常時(shí),不再中斷正在執(zhí)行的Yarn任務(wù),任務(wù)得以繼續(xù)運(yùn)行直至成功。并且將JobHistory的狀態(tài)進(jìn)行解耦,去除JobHistory異常對(duì)任務(wù)的影響。
Yarn中的Application ? ? ?Master故障后,雖然能夠立即被其它的節(jié)點(diǎn)拉起,但之前已執(zhí)行的計(jì)算任務(wù)只能從頭開(kāi)始重新執(zhí)行。為解決這一問(wèn)題,華為云FusionInsight MRS提供了Application Master的斷點(diǎn)續(xù)傳能力,記錄任務(wù)的執(zhí)行狀態(tài),區(qū)分任務(wù)執(zhí)行進(jìn)度,待Application Master因故障重新被拉起后,依然可以按照之前記錄的狀態(tài)繼續(xù)執(zhí)行。
跨AZ高可用:2萬(wàn)節(jié)點(diǎn)的大規(guī)模集群,由于受限機(jī)房空間規(guī)劃限制,單集群跨AZ部署成為一個(gè)不二選擇。但不同的AZ之間畢竟無(wú)法像同一個(gè)機(jī)房一樣提供充足的帶寬,為此華為云FusionInsight MRS分別在計(jì)算、存儲(chǔ)兩方面提供了消減優(yōu)化措施:
存儲(chǔ)上提供感知AZ的文件存儲(chǔ)策略,將文件自身及其副本分別放置在不同的AZ上,用戶發(fā)起讀寫(xiě)操作時(shí),優(yōu)先在本AZ內(nèi)尋找資源,只有在AZ故障的極端場(chǎng)景下,才會(huì)出現(xiàn)跨AZ的網(wǎng)絡(luò)讀寫(xiě)流量。
計(jì)算上提供感知AZ的任務(wù)調(diào)度機(jī)制,將用戶提交的任務(wù)充分分配在同一個(gè)AZ內(nèi)完成,避免同一個(gè)任務(wù)的不同計(jì)算單元之間消耗網(wǎng)絡(luò)資源。
通過(guò)以上的存儲(chǔ)塊放置策略和計(jì)算任務(wù)的本地化調(diào)度,還可實(shí)現(xiàn)單集群跨AZ的高可用,單AZ故障的時(shí)候,核心數(shù)據(jù)和計(jì)算任務(wù)不受影響。
【結(jié)束語(yǔ)】
先進(jìn)技術(shù)推動(dòng)產(chǎn)業(yè)發(fā)展,華為云FusionInsight MRS單集群突破2萬(wàn)+節(jié)點(diǎn),加速了政企客戶數(shù)字化轉(zhuǎn)型。相信大集群技術(shù)會(huì)持續(xù)前行,不斷滿足企業(yè)大數(shù)據(jù)應(yīng)用多場(chǎng)景融合的核心述求。
未來(lái),在大集群技術(shù)基礎(chǔ)上進(jìn)一步實(shí)現(xiàn)存算分離,通過(guò)統(tǒng)一的元數(shù)據(jù)和安全管理,實(shí)現(xiàn)數(shù)算分離(數(shù)據(jù)+元數(shù)據(jù)和計(jì)算分離),從而實(shí)現(xiàn)數(shù)據(jù)在更大范圍的共享,進(jìn)而實(shí)現(xiàn)一份數(shù)據(jù),多個(gè)計(jì)算集群的靈活部署和彈性伸縮,通過(guò)平滑擴(kuò)展的架構(gòu),達(dá)到10萬(wàn)級(jí)、百萬(wàn)級(jí)別的集群規(guī)模。
MapReduce FusionInsight
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。