【W(wǎng)OT2018】李明宇:在OpenStack云上運(yùn)行大數(shù)據(jù)系統(tǒng)的難題與方法
原創(chuàng)【51CTO.com原創(chuàng)稿件】七年一劍,華麗蛻變。自2012年起連續(xù)6年15場(chǎng)峰會(huì),凝聚大量技術(shù)專家,博觀而約取,厚積而薄發(fā)。2018 WOT全球軟件與運(yùn)維技術(shù)峰會(huì)揚(yáng)帆起航,圍繞12大核心熱點(diǎn),匯聚海內(nèi)外60位一線專家,打造高端技術(shù)盛宴!
在5月19日上午舉行的“OpenStack創(chuàng)新實(shí)戰(zhàn)”分論壇中,OStorage (奧思數(shù)據(jù))創(chuàng)始人兼CTO李明宇將為大家?guī)眍}為《在OpenStack云上提供大數(shù)據(jù)服務(wù):?jiǎn)栴}、方法與實(shí)踐》的精彩演講。會(huì)前,51CTO記者有幸采訪了他,提前劇透下將要分享的重點(diǎn)內(nèi)容。
OStorage (奧思數(shù)據(jù))創(chuàng)始人兼CTO/OpenStack社區(qū)布道師與貢獻(xiàn)者
李明宇是何許人也?在WOT峰會(huì)上,他將分享什么?
李明宇是OStorage創(chuàng)始人兼CTO,也是OpenStack社區(qū)布道師與貢獻(xiàn)者。在創(chuàng)立OStorage前,曾在中科院擔(dān)任課題組負(fù)責(zé)人,將云計(jì)算、分布式存儲(chǔ)等技術(shù)成功應(yīng)用在船舶、航天、國(guó)防等領(lǐng)域國(guó)家大型工程項(xiàng)目中。近年來,他積極研究和傳播OpenStack相關(guān)的云計(jì)算和云存儲(chǔ)技術(shù),多次在OpenStack Summit等國(guó)內(nèi)外大型會(huì)議上發(fā)表技術(shù)演講。
在本屆WOT峰會(huì)上,李明宇將結(jié)合Hadoop和Spark,包括Hive等SQL方案,講解在大數(shù)據(jù)系統(tǒng)云化實(shí)踐中可能會(huì)遇到的問題及解決方法。他還透露:“在分享中,我們將給參與互動(dòng)的觀眾贈(zèng)送我們翻譯并由電子工業(yè)出版社出版的《對(duì)象存儲(chǔ):OpenStack Swift應(yīng)用、管理與開發(fā)》一書。”
他表示,之所以最終選定這個(gè)主題,是因?yàn)椋弘m然基于OpenStack的云環(huán)境部署量越來越多,但是很多OpenStack云環(huán)境并不提供大數(shù)據(jù)服務(wù),比如類似AWS的Elastic MapReduce,再比如面向大數(shù)據(jù)的SQL,支持OLAP等等。另外,隨著用戶業(yè)務(wù)逐步實(shí)現(xiàn)了云遷移,在云上部署大數(shù)據(jù)系統(tǒng)的需求已經(jīng)日益常見和迫切。
然而,由于大數(shù)據(jù)系統(tǒng)的特殊性,如果在云平臺(tái)上開一批虛機(jī),然后像在物理機(jī)上做安裝部署那樣直接在這些虛機(jī)上部署運(yùn)行Hadoop等大數(shù)據(jù)系統(tǒng),往往在性能、可靠性等各方面達(dá)不到預(yù)期。
但是,這并不能歸咎于虛擬化或者云平臺(tái),而是需要采用正確的方法,這些問題都能夠迎刃而解,而且方法得當(dāng)還能更好地利用虛擬化和云的敏捷性、彈性、容災(zāi)等優(yōu)勢(shì),賦予大數(shù)據(jù)系統(tǒng)更多的能力。
“劇透”:在OpenStack云上運(yùn)行大數(shù)據(jù)系統(tǒng)的方法
那么,在OpenStack云上運(yùn)行大數(shù)據(jù)系統(tǒng)究竟有哪些方法?對(duì)此,李明宇表示,OpenStack基金會(huì)官方推薦了兩種方法:
***種方法是基于OpenStack服務(wù)組件Sahara實(shí)現(xiàn)。Sahara又稱之為OpenStack的EDP(Elastic Data Processing)服務(wù),它能夠很方便地幫用戶在OpenStack環(huán)境中部署和運(yùn)行Hadoop、Spark等大數(shù)據(jù)系統(tǒng),對(duì)云環(huán)境的彈性也發(fā)揮得比較好,并且能夠很好地對(duì)接OpenStack的Swift對(duì)象存儲(chǔ)。
但是Sahara項(xiàng)目也有它的問題,比如支持的大數(shù)據(jù)系統(tǒng)類型有限,而且必須事先準(zhǔn)備好節(jié)點(diǎn)鏡像,它不支持從S3讀寫數(shù)據(jù),對(duì)Hive和Pig的支持也有一定的限制。
假如沒有安裝Sahara,可以采用第二種方法,即是調(diào)用相關(guān)的API創(chuàng)建一批虛機(jī)(或者用容器也可以),并接入到云平臺(tái)的SDN網(wǎng)絡(luò)中,再用Ambari部署和配置Hadoop集群。這時(shí)候要注意的是,虛機(jī)的設(shè)置、組網(wǎng)方案要滿足大數(shù)據(jù)系統(tǒng)的需求,Ambari的配置要符合符合云環(huán)境的特點(diǎn)(具體怎樣做,會(huì)議當(dāng)天會(huì)有詳細(xì)說明),更進(jìn)一步,把上述過程用服務(wù)編排腳本,例如Heat腳本自動(dòng)化。
值得說明的是,這種方法不僅僅適用于Hadoop、Spark,還可以用于其他各種大數(shù)據(jù)系統(tǒng)。它的缺點(diǎn)是用戶(云環(huán)境的End User)必須自己創(chuàng)建、管理虛機(jī)及其網(wǎng)絡(luò),并使用Ambari等工具安裝部署Hadoop集群,當(dāng)然,IaaS云服務(wù)方也可以提供一些Heat模板的示例和虛機(jī)鏡像,減少用戶需要自己做的工作。
“劇透”不只一點(diǎn): OpenStack云上提供大數(shù)據(jù)服務(wù)需留意存儲(chǔ)問題
談及在OpenStack云上運(yùn)行大數(shù)據(jù)系統(tǒng)需要注意的問題,李明宇與記者分析說:“存儲(chǔ)是比較容易遇到的問題。”
現(xiàn)在有不少OpenStack云平臺(tái)采用分布式存儲(chǔ)作為虛擬機(jī)的塊存儲(chǔ),提供云硬盤等服務(wù)。這些存儲(chǔ)系統(tǒng)本身有一定的冗余甚至三副本,一些大數(shù)據(jù)系統(tǒng)也自帶數(shù)據(jù)存儲(chǔ)組件,比如Hadoop中的HDFS。HDFS也常采用三副本或糾刪碼方式保證數(shù)據(jù)存儲(chǔ)的可靠性。如果直接創(chuàng)建虛擬機(jī)并安裝Hadoop(包括HDFS),則會(huì)出現(xiàn)存儲(chǔ)資源的浪費(fèi)。有一種極端但卻很常見的情況:虛擬機(jī)塊存儲(chǔ)后端是采用了三副本的分布式存儲(chǔ),HDFS又采用了三副本,最終導(dǎo)致存一份數(shù)據(jù)需要占用九份數(shù)據(jù)的空間,造成極大的浪費(fèi)。此時(shí),一個(gè)比較直接的想法是將HDFS的副本數(shù)量設(shè)為1,因?yàn)榈讓哟鎯?chǔ)已經(jīng)有冗余了,但這種做法會(huì)帶來新的問題,對(duì)虛擬化技術(shù)比較熟悉的工程師可能會(huì)想到直接讓虛擬機(jī)穿透去使用服務(wù)器的物理存儲(chǔ)硬盤,但這樣也會(huì)帶來一些其他問題。
實(shí)踐表明,用對(duì)象存儲(chǔ)是比較好的選擇。對(duì)象存儲(chǔ)屬于非常成熟的云服務(wù),不論是AWS還是OpenStack,最早推出的兩個(gè)服務(wù)里面均包含對(duì)象存儲(chǔ)。更重要的是,OpenStack Swift在支持大數(shù)據(jù)分析業(yè)務(wù)時(shí),表現(xiàn)出了優(yōu)異的性能。OpenStack Swift還支持跨多個(gè)數(shù)據(jù)中心、多個(gè)地域構(gòu)建存儲(chǔ)集群,這就給用戶構(gòu)建跨數(shù)據(jù)中心的大數(shù)據(jù)系統(tǒng)帶來了便利,用戶在提交數(shù)據(jù)處理作業(yè)時(shí),不用關(guān)心數(shù)據(jù)到底是存放在哪個(gè)數(shù)據(jù)中心的,而且可以一批任務(wù)處理多個(gè)數(shù)據(jù)中心的,甚至多個(gè)地域的數(shù)據(jù),比如跨北京、香港和北美。
據(jù)李明宇介紹,作為一家專注對(duì)象存儲(chǔ)的廠商,為了更好的為用戶提供對(duì)象存儲(chǔ)的服務(wù),圍繞OpenStack Swift,OStorage做了很多工作。OpenStack Swift是一個(gè)非常優(yōu)秀的分布式存儲(chǔ)系統(tǒng),它是OpenStack的六個(gè)核心項(xiàng)目之一,也是OpenStack最早的兩個(gè)項(xiàng)目之一,在國(guó)際上前幾年就已經(jīng)出現(xiàn)了百PB級(jí)規(guī)模的Swift對(duì)象存儲(chǔ)集群。在國(guó)內(nèi),美團(tuán)、去哪兒、鳳凰網(wǎng)、順豐等諸多公司也都選擇了基于Swift實(shí)現(xiàn)對(duì)象存儲(chǔ)服務(wù)。
“但是OpenStack中缺少對(duì)Swift進(jìn)行運(yùn)維管理的組件,導(dǎo)致很多政企用戶在Swift的使用中遇到不少運(yùn)維管理方面的問題。” 李明宇如是說。
考慮至此,OStorage開發(fā)了一套Swift的部署、運(yùn)維和管理工具,幫助企業(yè)級(jí)和運(yùn)營(yíng)級(jí)用戶搭建高性能、高可靠和便于運(yùn)維的Swift對(duì)象存儲(chǔ)集群。目前已經(jīng)用于電信、航天、銀行等多個(gè)領(lǐng)域客戶的生產(chǎn)環(huán)境。另外,OStorage還開發(fā)了一系列基于Swift的API擴(kuò)展組件、應(yīng)用插件和數(shù)據(jù)遷移工具,幫助用戶更方便地應(yīng)用Swift對(duì)象存儲(chǔ)。
不只有“劇透”:談?wù)勚袊?guó)OpenStack的發(fā)展
采訪***,作為OpenStack社區(qū)布道師與貢獻(xiàn)者,談起中國(guó)OpenStack的發(fā)展情況,李明宇表示,他從2013年開始參與OpenStack社區(qū),見證了OpenStack逐步被炒熱***趨于穩(wěn)定成熟走進(jìn)各行各業(yè)的過程。目前,在國(guó)內(nèi)的金融、運(yùn)營(yíng)商、交通、政務(wù)、電力、科研等行業(yè),OpenStack得到了非常廣泛的應(yīng)用。可以說,我們?nèi)粘R率匙⌒小⒖平涛男l(wèi)、工業(yè)國(guó)防……處處都有OpenStack在后臺(tái)支持著。
隨著騰訊云這樣的一線大企業(yè)榮獲OpenStack Superuser大獎(jiǎng)以及成為OpenStack基金會(huì)白金會(huì)員,國(guó)內(nèi)的OpenStack生態(tài)也發(fā)展到了一個(gè)新的高度。
OpenStack本身和OpenStack基金會(huì)支持的KataContainer等新的項(xiàng)目未來的定位是"開放基礎(chǔ)設(shè)施(Open Infrastructure)",將繼續(xù)加強(qiáng)和擴(kuò)展包括虛機(jī)、容器、SDN、分布式存儲(chǔ)等IT基礎(chǔ)設(shè)施方面的工作,并且讓這些基礎(chǔ)設(shè)施更好地支持云應(yīng)用的運(yùn)行。
【51CTO原創(chuàng)稿件,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文作者和出處為51CTO.com】