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