如何在混合云架構(gòu)中高效運(yùn)行Presto,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。
目前創(chuàng)新互聯(lián)建站已為1000多家的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬空間、網(wǎng)站托管維護(hù)、企業(yè)網(wǎng)站設(shè)計(jì)、洪山網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。
將SQL工作負(fù)載從完全的本地環(huán)境遷移到云環(huán)境中有許多好處,包括降低資源競(jìng)爭(zhēng)、通過(guò)按需購(gòu)買計(jì)算資源來(lái)降低費(fèi)用。當(dāng)Presto的數(shù)據(jù)存儲(chǔ)在HDFS中時(shí),由于Presto的架構(gòu)允許存儲(chǔ)和計(jì)算的組件獨(dú)立操作,在云環(huán)境中的計(jì)算與本地的存儲(chǔ)之間的分離是顯而易見的。在云上通過(guò)在Presto檢索本地的HDFS數(shù)據(jù)這樣的混合環(huán)境里面,一個(gè)關(guān)鍵的問題是兩個(gè)集群之間的網(wǎng)絡(luò)延遲。
這個(gè)關(guān)鍵的瓶頸嚴(yán)重限制了所有工作負(fù)載的性能,因?yàn)槠浯蟛糠謺r(shí)間都花在了可能位于地理位置不同的網(wǎng)絡(luò)之間傳輸請(qǐng)求的數(shù)據(jù)上。結(jié)果,大多數(shù)公司將其數(shù)據(jù)復(fù)制到云環(huán)境中并維護(hù)該數(shù)據(jù)副本,也稱為L(zhǎng)ift and Shift。有合規(guī)性和數(shù)據(jù)主權(quán)要求的公司甚至可能阻止組織將數(shù)據(jù)復(fù)制到云中。這種方法不可擴(kuò)展,需要付出大量的人工才能獲得合理的結(jié)果。下面介紹了Alluxio充當(dāng)數(shù)據(jù)編排層,以幫助將數(shù)據(jù)高效地提供給Presto,而不是直接查詢遠(yuǎn)程的HDFS集群或?qū)?shù)據(jù)的本地化副本手動(dòng)提供給云集群中的Presto。
采用Alluxio和Presto的混合云架構(gòu)
在以下架構(gòu)圖中,Presto和Alluxio進(jìn)程都位于云集群中。就Presto而言,它正在查詢數(shù)據(jù)并將其寫入Alluxio,就好像Alluxio是位于同一位置的HDFS集群一樣。當(dāng)Alluxio收到數(shù)據(jù)請(qǐng)求時(shí),最初會(huì)從遠(yuǎn)程HDFS集群中獲取數(shù)據(jù),但后續(xù)請(qǐng)求將直接從其緩存中獲取。當(dāng)Presto發(fā)送數(shù)據(jù)以將其持久化到存儲(chǔ)中時(shí),Alluxio會(huì)將數(shù)據(jù)異步寫入HDFS,從而使Presto工作負(fù)載免于等待遠(yuǎn)程寫入完成的麻煩。在讀取和寫入兩種情況下,除了初始讀取外,Presto工作負(fù)載都能夠以與HDFS集群在相同的網(wǎng)絡(luò)中的性能運(yùn)行(即使不是更快)。請(qǐng)注意,除了部署和配置Alluxio以及在Presto和Alluxio之間建立連接之外,不需要其他配置或其他手動(dòng)操作即可維護(hù)混合環(huán)境。
基準(zhǔn)測(cè)試性能
為了進(jìn)行基準(zhǔn)測(cè)試,我們對(duì)地理上分離的Hive和HDFS集群中的數(shù)據(jù)運(yùn)行SQL查詢。
使用Alluxio,我們?yōu)樗蠺PC-DS查詢收集兩種數(shù)據(jù),分別表示為Cold和Warm。
使用HDFS, 我們也收集了兩種數(shù)據(jù),分別表示為L(zhǎng)ocal和Remote
Local是指Presto和HDFS在同一個(gè)區(qū)域中。這個(gè)數(shù)據(jù)表示的是計(jì)算和數(shù)據(jù)都在本地(而不需要拉到云環(huán)境中)的性能。
我們對(duì)比了Presto使用Alluxio(包含Code和Warm)和直接讀取HDFS(包含Local和Remote)的性能。基準(zhǔn)測(cè)試顯示,使用Alluxio并且數(shù)據(jù)緩存在Alluxio中與直接從遠(yuǎn)程讀取HDFS相比,平均性能提升是原來(lái)的3倍。
下面的圖表分類總結(jié)了實(shí)驗(yàn)結(jié)果。總的來(lái)說(shuō),使用Alluxio性能提升最大的是q9(7.1倍),提升最小的是q39a(1倍——沒有區(qū)別)。
在10個(gè)節(jié)點(diǎn)的計(jì)算集群情況下,當(dāng)從地理上分隔的集群中訪問數(shù)據(jù)時(shí),運(yùn)行所有查詢的峰值網(wǎng)絡(luò)帶寬使用保持在2Gbps以下。使用AWS骨干網(wǎng)絡(luò)時(shí),網(wǎng)絡(luò)帶寬不是瓶頸。隨著計(jì)算集群規(guī)模的增大,網(wǎng)絡(luò)帶寬使用也會(huì)增加。在大型集群中,由于直連網(wǎng)絡(luò)帶寬也存在限制,因此如果不使用Alluxio,網(wǎng)絡(luò)帶寬很可能成為性能瓶頸。
當(dāng)數(shù)據(jù)無(wú)縫緩存到本地的Alluxio群集中時(shí),使用Alluxio可以看到的大多數(shù)性能提升可以通過(guò)訪問元數(shù)據(jù)和數(shù)據(jù)的延遲差異來(lái)解釋。
看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)的支持。