首次公开!单日600PB的计算力--阿里巴巴EB级大数据平台的进击
摘要: 每年的雙11之前,也是MaxCompute各種乾坤大挪移落定的時(shí)候,因?yàn)殡p11就是各種大折騰項(xiàng)目的自然deadline。在今年雙11之前,一路向北遷移和在離線混部項(xiàng)目,將杭州集群除螞蟻外整體遷移到張北,涉及了絕大部分的業(yè)務(wù)project、數(shù)據(jù)存儲(chǔ)和計(jì)算任務(wù),為今年雙十一大數(shù)據(jù)計(jì)算服務(wù)的保障帶來(lái)了挑戰(zhàn)。
作者:阿里巴巴計(jì)算平臺(tái) 高級(jí)技術(shù)專家 迎輝
MaxCompute作為阿里巴巴的主力計(jì)算平臺(tái),在2018年的雙11中,再次不負(fù)眾望,經(jīng)受住了雙11期間海量數(shù)據(jù)和高并發(fā)量的考驗(yàn)。為集團(tuán)的各條業(yè)務(wù)線提供了強(qiáng)勁的計(jì)算力,不愧是為阿里巴巴歷年雙11輸送超級(jí)計(jì)算力的核武器。
本文為大家介紹,MaxCompute基于多集群部署的幾萬(wàn)臺(tái)服務(wù)器,如何為集團(tuán)急劇增長(zhǎng)的業(yè)務(wù)提供護(hù)航和保障。
挑戰(zhàn)
每年的雙11之前,也是MaxCompute各種乾坤大挪移落定的時(shí)候,因?yàn)殡p11就是各種大折騰項(xiàng)目的自然deadline。在今年雙11之前,一路向北遷移和在離線混部項(xiàng)目,將杭州集群除螞蟻外整體遷移到張北,涉及了絕大部分的業(yè)務(wù)project、數(shù)據(jù)存儲(chǔ)和計(jì)算任務(wù),為今年雙十一大數(shù)據(jù)計(jì)算服務(wù)的保障帶來(lái)了挑戰(zhàn)。
體量
現(xiàn)在MaxCompute包括在離線混部集群在內(nèi)有幾萬(wàn)臺(tái)服務(wù)器,數(shù)據(jù)總存儲(chǔ)量在EB級(jí),日均運(yùn)行近幾百萬(wàn)量級(jí)的作業(yè),而每天所有作業(yè)處理的數(shù)據(jù)總量也在幾百PB。集群分布三個(gè)地理區(qū)域,之間由長(zhǎng)傳鏈路相連接,由于集團(tuán)數(shù)據(jù)業(yè)務(wù)固有的普遍聯(lián)系特性,各個(gè)集群之間有著切不斷的大量數(shù)據(jù)依賴,以及嚴(yán)重的帶寬依賴。
成本
大量的服務(wù)器就是大量的成本,降低成本就要充分利用每個(gè)集群的計(jì)算存儲(chǔ)能力,提高資源利用率。同時(shí),不同業(yè)務(wù)有著不同的特征,有的存儲(chǔ)多計(jì)算少,有的計(jì)算多存儲(chǔ)少,有的大規(guī)模ETL I/O繁忙,有的機(jī)器學(xué)習(xí)科學(xué)計(jì)算CPU密集。
怎樣充分利用每個(gè)集群的能力,提升CPU、內(nèi)存、IO、存儲(chǔ)各方面的利用率,同時(shí)均衡各集群負(fù)載,兼顧站點(diǎn)之間長(zhǎng)傳帶寬的壓力,在超高資源利用率下保障運(yùn)行穩(wěn)定,還要支持杭州整體搬遷這樣量級(jí)的變更,這些挑戰(zhàn)對(duì)于MaxCompute并不是應(yīng)對(duì)雙11大促的一次重大戰(zhàn)役,而是MaxCompute每天的日常。
如何應(yīng)對(duì)這些挑戰(zhàn),下面將從各個(gè)角度為大家介紹 MaxCompute 所做的一些列工作。
集群遷移
今年,一路向北遷移和在離線混部項(xiàng)目,將杭州集群遷移到張北,同時(shí)也涉及了MaxCompute控制集群和計(jì)算集群的遷移。 物理資源上的大騰挪,也給MaxCompute的服務(wù)保障帶來(lái)了一些列問(wèn)題和挑戰(zhàn)。
透明的Project集群遷移
可能很多同學(xué)以前遇到過(guò)所在Project遷移集群時(shí)作業(yè)失敗,出現(xiàn) AllDenied 報(bào)錯(cuò)。之前在把Project遷到另一個(gè)集群的時(shí)候,會(huì)對(duì)用戶有影響,操作前需要先做通知,對(duì)用戶對(duì)運(yùn)維同學(xué)都很困擾。
今年MaxCompute實(shí)現(xiàn)了遷移Project遷移過(guò)程中作業(yè)運(yùn)行和提交都正常不受影響,做到了對(duì)用戶透明。
輕量化遷移
集群之間因?yàn)闃I(yè)務(wù)的差異,會(huì)出現(xiàn)計(jì)算和存儲(chǔ)配比不均衡的情況,而正常的遷移需要目標(biāo)集群的存儲(chǔ)和計(jì)算空間都滿足需求才能做,這樣就會(huì)遇到有的集群存儲(chǔ)水位比較高,但計(jì)算能力還沒(méi)用滿,卻沒(méi)辦法遷移大的Project過(guò)去的情況。
今年上線的輕量化遷移機(jī)制,可以實(shí)現(xiàn)只遷移計(jì)算和部分熱數(shù)據(jù)到新的集群,而老數(shù)據(jù)則留在原集群,能夠達(dá)到既均衡了計(jì)算資源,又不會(huì)有太多跨集群讀寫的效果。
搬走動(dòng)不了的OTS
MaxCompute 使用OTS存儲(chǔ)系統(tǒng)的各種核心元數(shù)據(jù),所以一旦OTS異常,MaxCompute的整個(gè)服務(wù)都會(huì)受到影響。更嚴(yán)重的是,MaxCompute服務(wù)對(duì)OTS的依賴長(zhǎng)期沒(méi)有主備熱切換的支持,使得OTS集群變成了MaxCompute唯一動(dòng)不了的一個(gè)點(diǎn)。
今年作為一路向北遷移規(guī)劃的一部分,我們仔細(xì)擬定和驗(yàn)證了OTS熱切換方案,梳理了控制服務(wù)和OTS集群的依賴,目標(biāo)不但是要做OTS的主備熱切換,而且是從杭州直接切到張北。
盡管經(jīng)歷了一次彈內(nèi)切換的失敗,經(jīng)過(guò)進(jìn)一步優(yōu)化和演練,最終我們把切換時(shí)間從預(yù)定的分鐘級(jí)別切換縮短到了若干秒級(jí)的切換,并在公共云線上環(huán)境也成功實(shí)施,實(shí)際切換過(guò)程無(wú)異常反饋,做到了用戶無(wú)感知。
從此MaxCompute服務(wù)里最關(guān)鍵的一個(gè)點(diǎn)有了無(wú)損熱切換的能力,大大降低了整體服務(wù)的全局性風(fēng)險(xiǎn)。
跨集群調(diào)度
多樣的全局作業(yè)調(diào)度機(jī)制
集群之間因?yàn)樽鳂I(yè)類型或業(yè)務(wù)特征等因素,可能會(huì)有各種計(jì)算資源使用的不充分,比如:業(yè)務(wù)的全天資源高峰時(shí)段及持續(xù)時(shí)間不同;申請(qǐng)大塊資源的任務(wù)類型所在集群有空隙可以超賣小作業(yè)填充;甚至有些特殊情況會(huì)有臨時(shí)的資源借用需求。
為此MaxCompute提供了一些全局作業(yè)調(diào)度機(jī)制,可以把指定的一批作業(yè)調(diào)度到指定的集群運(yùn)行,或者在當(dāng)前集群資源繁忙的時(shí)候,系統(tǒng)自動(dòng)去看如果其它集群資源有空閑,就調(diào)度到空閑集群運(yùn)行。
除了均衡資源利用率,這些機(jī)制也提供了人工調(diào)控的靈活性,并且還在進(jìn)行與數(shù)據(jù)排布相結(jié)合的調(diào)度機(jī)制開(kāi)發(fā),以根據(jù)集群實(shí)時(shí)的狀態(tài)進(jìn)行調(diào)度。
拓?fù)涓兄?shù)據(jù)驅(qū)動(dòng)的橋頭堡
作業(yè)要訪問(wèn)其它集群的表數(shù)據(jù)有兩個(gè)選擇,一個(gè)是從本集群直接讀遠(yuǎn)程集群(直讀),一個(gè)是先把遠(yuǎn)程的數(shù)據(jù)復(fù)制一份到本集群(等復(fù)制)。這兩種方式各有優(yōu)缺點(diǎn)及其適用的場(chǎng)景。 同時(shí),集群之間的網(wǎng)絡(luò)拓?fù)?#xff08;是異地長(zhǎng)傳還是同城同核心)也會(huì)影響直讀和等復(fù)制策略的選擇。異地長(zhǎng)傳帶寬成本高,容量小,同城的網(wǎng)絡(luò)帶寬則相對(duì)容量較大,但在大數(shù)據(jù)的流量下,高峰期都是一樣的可能擁堵,所以需要既利用同城帶寬優(yōu)勢(shì),又不能把瓶頸轉(zhuǎn)移到同城,需要全局的策略調(diào)配。
因?yàn)槊刻鞓I(yè)務(wù)都在變化,數(shù)據(jù)的依賴關(guān)系也在變化,我們利用對(duì)歷史任務(wù)的分析數(shù)據(jù)持續(xù)優(yōu)化和更新復(fù)制策略,在每個(gè)區(qū)域選擇橋頭堡集群接收長(zhǎng)傳的復(fù)制,然后在區(qū)域內(nèi)實(shí)施鏈?zhǔn)綇?fù)制或者近距離直讀。 通過(guò)橋頭堡2.0項(xiàng)目,我們實(shí)現(xiàn)了將2個(gè)地域間的數(shù)據(jù)復(fù)制流量降低了30%+。
新機(jī)型的新問(wèn)題
一朝天子一朝臣,一代機(jī)型一代瓶頸。
現(xiàn)在MaxCompute的集群規(guī)模仍然是萬(wàn)臺(tái)標(biāo)準(zhǔn),但今天的萬(wàn)臺(tái)已經(jīng)不是幾年前的萬(wàn)臺(tái),單機(jī)的CPU核數(shù)從曾經(jīng)的24核、32核,再到新集群的96核,一臺(tái)頂過(guò)去3臺(tái)。但不管單機(jī)多少核,在MaxCompute的集群里,每天CPU總是能持續(xù)幾個(gè)小時(shí)滿負(fù)荷運(yùn)行,總體日均CPU利用率達(dá)到65%。
不變的除了CPU利用率,還有磁盤數(shù),我們的數(shù)據(jù)IO能力仍然是由不變的單機(jī)機(jī)械硬盤提供。雖然硬盤充起了氦氣,單盤容量是以前的3倍,但單盤的IOPS能力卻相差無(wú)幾,DiskUtil就變成了非常大的瓶頸。
經(jīng)過(guò)一系列的優(yōu)化措施,今年大量96核集群的上線沒(méi)有了去年面對(duì)64核時(shí)的狼狽不堪,把DiskUtil維持在了比較可控的水平。
透明的文件合并
跑作業(yè)時(shí)遇到報(bào)錯(cuò)FILE_NOT_FOUND重跑又能過(guò),或者掃描長(zhǎng)時(shí)間分區(qū)范圍的作業(yè)反復(fù)重跑也沒(méi)法跑過(guò),這個(gè)情況相信很多人都遇到過(guò)。
為了緩解集群文件數(shù)的壓力,平臺(tái)的后臺(tái)自動(dòng)文件合并停一兩天都有觸頂?shù)奈kU(xiǎn),但長(zhǎng)期以來(lái)這個(gè)動(dòng)作為了保證數(shù)據(jù)一致性和效率,都沒(méi)法避免打斷正在讀的作業(yè),只能選擇只合并比較冷的分區(qū),但一方面文件數(shù)的壓力迫使把冷的判定閾值從一個(gè)月壓縮到兩周到更短,另一方面總會(huì)有不少作業(yè)仍然會(huì)去讀早些時(shí)間的分區(qū)而被合并操作打斷。
今年平臺(tái)實(shí)現(xiàn)了新的合并機(jī)制,會(huì)給已經(jīng)在運(yùn)行的作業(yè)留一定的時(shí)間仍能讀合并之前的文件,從而不再受影響,可以很大程度上解決這個(gè)頑固問(wèn)題。
目前新的機(jī)制在公共云取得了很好的效果,集團(tuán)內(nèi)也在灰度試運(yùn)行中。
平臺(tái)性能提升
作為一個(gè)計(jì)算平臺(tái),MaxCompute以計(jì)算力為核心指標(biāo),通過(guò)不斷的提升計(jì)算力,支撐起集團(tuán)飛速的業(yè)務(wù)增長(zhǎng)。 對(duì)比2017雙十一,今年雙十一當(dāng)天MaxCompute作業(yè)數(shù)幾乎有了成倍的增長(zhǎng)。 過(guò)去一年中,MaxCompute通過(guò)在NewSQL+富結(jié)構(gòu)化+聯(lián)合計(jì)算平臺(tái)+AliORC多個(gè)方向上發(fā)力,持續(xù)構(gòu)建高可用、高性能、高自適性的大數(shù)據(jù)平臺(tái),提升平臺(tái)計(jì)算力。 9月云棲大會(huì)發(fā)布中,TPC-BB的測(cè)評(píng)結(jié)果在10TB規(guī)模上超越開(kāi)源系統(tǒng)3倍以上;100TB規(guī)模評(píng)分從去年的7800+提升到18000+,世界領(lǐng)先。
總結(jié)
MaxCompute 在2018雙十一又一次平滑通過(guò)了大促的考驗(yàn),同時(shí)我們也看到, 平臺(tái)需要不斷提升分布式計(jì)算下多集群的綜合能力,不斷提升計(jì)算力,保障大規(guī)模計(jì)算下的穩(wěn)定性,來(lái)支撐起持續(xù)高速增長(zhǎng)的業(yè)務(wù)。 通過(guò)持續(xù)的引擎能力優(yōu)化、開(kāi)發(fā)框架建設(shè)、智能數(shù)倉(cāng)建設(shè)等維度,MaxCompute 向智能化的、開(kāi)放的、生態(tài)平臺(tái)發(fā)展,來(lái)支撐起下一個(gè)100%業(yè)務(wù)增長(zhǎng)。
轉(zhuǎn)載于:https://blog.51cto.com/14031893/2327119
總結(jié)
以上是生活随笔為你收集整理的首次公开!单日600PB的计算力--阿里巴巴EB级大数据平台的进击的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 阿里云大学课程学习有奖征文活动现在开始
- 下一篇: 【本周面试题】第5周 - 开发工具相关