目前,OpenStack 私有云應(yīng)用在經(jīng)過了長時(shí)間的技術(shù)累積和市場培養(yǎng)之后,產(chǎn)品的成熟度和客戶的認(rèn)可度都已邁入成熟。雖然基于OpenStack的云環(huán)境部署量越來越多,但是很多OpenStack云環(huán)境并不提供大數(shù)據(jù)服務(wù),比如類似AWS的Elastic MapReduce,再比如面向大數(shù)據(jù)的SQL,支持OLAP等等。與此同時(shí),隨著用戶業(yè)務(wù)逐步實(shí)現(xiàn)了云遷移,在云上部署大數(shù)據(jù)系統(tǒng)的需求已經(jīng)日益常見和迫切。
2018年5月18-19日,由51CTO主辦的全球軟件與運(yùn)維技術(shù)峰會(huì)在北京召開。在第二日上午舉行的“OpenStack創(chuàng)新實(shí)戰(zhàn)”分論壇中,OStorage (奧思數(shù)據(jù))創(chuàng)始人兼CTO李明宇為大家?guī)眍}為《在OpenStack云上運(yùn)行大數(shù)據(jù)系統(tǒng):問題、方法與實(shí)踐》的精彩演講,針對(duì)如何在OpenStack云環(huán)境上運(yùn)行大數(shù)據(jù)系統(tǒng),在實(shí)際運(yùn)行過程中常見的問題,以及如何利用對(duì)象存儲(chǔ)解決這些問題展開了闡述。會(huì)后,51CTO記者根據(jù)李明宇在WOT2018全球軟件與運(yùn)維技術(shù)峰會(huì)的演講內(nèi)容進(jìn)行了整理。
在OpenStack環(huán)境上運(yùn)行大數(shù)據(jù)系統(tǒng)的兩種方法
李明宇之前在中科院軟件所工作,除了科學(xué)研究外,他著重解決實(shí)際工程問題,帶領(lǐng)團(tuán)隊(duì)承擔(dān)分布式和云計(jì)算系統(tǒng)的相關(guān)研發(fā)工作。離開中科院后,李明宇一直致力于OpenStack等云計(jì)算和大數(shù)據(jù)相關(guān)開源技術(shù)的研究和傳播,為企業(yè)提供咨詢、評(píng)測等技術(shù)服務(wù)。
他演講中談到,OpenStack是一個(gè)大體系里包含很多的小的開源項(xiàng)目,其中有六個(gè)核心項(xiàng)目人們最為熟知:管理虛機(jī)的Nova、管理網(wǎng)絡(luò)的Neutron、云硬盤的Cinder、認(rèn)證的Keystone以及鏡像和模板管理的Glance、Swift對(duì)象存儲(chǔ)。
李明宇表示,在OpenStack環(huán)境上運(yùn)行大數(shù)據(jù)系統(tǒng)有兩種方法:***種方法是基于OpenStack服務(wù)組件Sahara實(shí)現(xiàn)。他通過現(xiàn)場演示DEMO的方式,讓大家看到如何使用Sahara。Sahara實(shí)際上就是OpenStack專門為運(yùn)行Hadoop來打造的一個(gè)項(xiàng)目。如果用戶使用的OpenStack云環(huán)境沒有部署Sahara怎么辦?這時(shí)可以采用第二種方法,第二種是通過Heat和Hadoop社區(qū)的部署工具實(shí)現(xiàn),用戶直接管理Hadoop/大數(shù)據(jù)系統(tǒng)節(jié)點(diǎn)。OpenStack云平臺(tái)上的除了依賴OpenStack Sahara外,還可以在裸機(jī)上安裝Hadoop。
那么,這兩種方法孰優(yōu)孰劣呢?李明宇分析道,Sahara是云計(jì)算廠商視角,使用Sahara的好處在于服務(wù)商基于此提供大數(shù)據(jù)服務(wù),用戶使用更方便,總體來說還算穩(wěn)定。但Sahara其實(shí)并不是那么***,服務(wù)種類受限,靈活性不高。而不使用Sahara直接管理的好處在于從用戶視角出發(fā),靈活性好,用戶可控,但是劣勢(shì)在于需要由用戶管理大數(shù)據(jù)集群,并且難以感知云基礎(chǔ)設(shè)施底層特性。“用戶可以根據(jù)自己的需求,選擇最適合自己的方法。”
四大存儲(chǔ)問題
目前,OpenStack已被很多單位使用,在使用的過程中也會(huì)提出很多問題。而在OpenStack云上運(yùn)行大數(shù)據(jù)系統(tǒng)最容易遇到的問題就是存儲(chǔ)的問題。
李明宇表示,在存儲(chǔ)方面***個(gè)面臨的問題,就是塊存儲(chǔ)的冗余問題,虛機(jī)塊存儲(chǔ)/Volume底層冗余與HDFS本身的冗余。如果虛擬底層是采用Ceph支持虛機(jī)塊存儲(chǔ),實(shí)際上虛機(jī)的塊設(shè)備/Volume在Ceph上有三個(gè)副本,HDFS上又有三個(gè)副本,從而造成塊存儲(chǔ)的過度冗余。
第二個(gè)問題是數(shù)據(jù)移動(dòng)開銷比計(jì)算任務(wù)的移動(dòng)開銷大。Hadoop集群并不是時(shí)刻都承載相同的負(fù)載壓力,我們希望在虛擬化環(huán)境中,Hadoop集群能夠具有彈性。從5個(gè)節(jié)點(diǎn)擴(kuò)展到10個(gè)節(jié)點(diǎn),再擴(kuò)展到50個(gè)節(jié)點(diǎn),再縮到5個(gè)節(jié)點(diǎn),如果數(shù)據(jù)存儲(chǔ)在這些節(jié)點(diǎn)的HDFS中,那么這時(shí)需要重新平衡數(shù)據(jù),數(shù)據(jù)移動(dòng)開銷較大,需要時(shí)間、耗費(fèi)網(wǎng)絡(luò)和I/O資源。
第三個(gè)問題,很多數(shù)據(jù)處理/分析任務(wù)是臨時(shí)性的。為了實(shí)現(xiàn)在使用Hadoop集群或者利用大數(shù)據(jù)處理集群時(shí),創(chuàng)建一個(gè)集群運(yùn)行數(shù)據(jù)分析或者數(shù)據(jù)倉庫,完成作業(yè)之后這個(gè)集群就可以銷毀。但是使用HDFS,是無法銷毀存有數(shù)據(jù)的虛機(jī)的,并且還會(huì)帶來額外開銷。相比這些開銷,網(wǎng)絡(luò)的開銷在降低,整體網(wǎng)絡(luò)成本在降低。針對(duì)上面這些問題,如果不再使用HDFS,可以用對(duì)象存儲(chǔ)替換。也就是在云環(huán)境里運(yùn)行大數(shù)據(jù)系統(tǒng)時(shí),虛機(jī)只是進(jìn)行計(jì)算,而數(shù)據(jù)放到對(duì)象存儲(chǔ)。
第四個(gè)問題是跨多個(gè)地域的系統(tǒng)構(gòu)建存儲(chǔ)集群。這個(gè)問題可以通過OpenStack Swift對(duì)象存儲(chǔ)來解決,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ù)中心的數(shù)據(jù),甚至多個(gè)地域的數(shù)據(jù)。
以上內(nèi)容是51CTO記者根據(jù)OStorage (奧思數(shù)據(jù))創(chuàng)始人兼CTO李明宇在WOT2018全球軟件與運(yùn)維技術(shù)峰會(huì)的采訪內(nèi)容整理,更多關(guān)于WOT的內(nèi)容請(qǐng)關(guān)注51cto.com。