Hadoop虛擬化影響大數(shù)據(jù)存儲 SAN成優(yōu)選?
大數(shù)據(jù)時代,Hadoop將會會大規(guī)模部署于企業(yè)之中。VMware新的vSphere Big Data Extensions (BDE) 將其開源項目Serengeti商業(yè)化,使企業(yè)管理員能夠隨心所欲地玩轉(zhuǎn)虛擬Hadoop集群。
現(xiàn)在,VMware已經(jīng)明確表示,將要全力支持虛擬化Hadoop在企業(yè)vSphere環(huán)境中的工作負載。
然而,Hadoop的所有工作是在大量的分布式數(shù)據(jù)之上智能地映射并行計算工作。群集部署和操作對虛擬化管理員來說變得非常容易。但在虛擬環(huán)境中存儲可以有效地從計算客戶端抽離,設(shè)計底層存儲架構(gòu)時有一些重要的復雜性和機會需要考慮。在虛擬環(huán)境中運行Hadoop的一些具體問題,包括考慮如何配置虛擬數(shù)據(jù)節(jié)點,如何最好地利用hypervisor服務(wù)器的本地DAS,以及何時考慮利用外部SAN/NAS。
大數(shù)據(jù),虛擬化
虛擬化Hadoop背后的主要思想,是獲得以虛擬機部署Hadoop scale-out(橫向擴展)節(jié)點的優(yōu)勢,而不是折騰商品化的物理服務(wù)器。集群可以按需置備,彈性擴張或收縮。多個虛擬Hadoop的節(jié)點可以托管在hypervisor物理服務(wù)器,虛擬機可以很容易地為一個給定的應(yīng)用程序分配更多或更少的資源。hypervisor級別的HA/FT能力,可以被帶到承擔生產(chǎn)的Hadoop應(yīng)用程序。VMware的BDE甚至包括QoS算法,以幫助動態(tài)排序集群優(yōu)先級,必要時收縮低優(yōu)先級的集群,確保高優(yōu)先級的集群的服務(wù)水平。
顯然,虛擬化Hadoop的大問題之一性能。Hadoop的價值在于它如何有效地執(zhí)行分布式數(shù)據(jù)塊上的并行算法。Hadoop的優(yōu)勢,使用HDFS(Hadoop分布式文件系統(tǒng))將大數(shù)據(jù)散布在多個節(jié)點,然后將并行計算任務(wù)放到每個數(shù)據(jù)節(jié)點進行初步的處理(MapReduce的“映射”部分由作業(yè)和任務(wù)跟蹤器實現(xiàn))。
這個設(shè)計,每個scale-out物理節(jié)點,承載本地計算和數(shù)據(jù)共享,意在支持如搜索這樣的應(yīng)用。這些應(yīng)用可能經(jīng)常需要抓取大量大型數(shù)據(jù)集的所有數(shù)據(jù),這些數(shù)據(jù)集通常由低水平半或非結(jié)構(gòu)化的文本和文件構(gòu)成。
一般情況下,每個HDFS數(shù)據(jù)節(jié)點將由hypervisor直接分配物理主機服務(wù)器的DAS磁盤。然后HDFS將在數(shù)據(jù)節(jié)點上復制數(shù)據(jù),默認復制兩份到不同的數(shù)據(jù)節(jié)點上。在一個物理集群上,副本由定義放置在不同的服務(wù)器節(jié)點(每臺服務(wù)器一個數(shù)據(jù)節(jié)點)。HDFS也知道,將第二個副本放在不同“機架”的節(jié)點,以幫助避免機架級的損失。
在虛擬化的世界中,Hadoop必須意識到虛擬節(jié)點的hypervisor分組,以保證良好的物理數(shù)據(jù)布局和后續(xù)工作/任務(wù)分配。這個虛擬的認識是通過Hadoop Virtual Extensions(HVE)實現(xiàn),VMware將其貢獻到Apache Hadoop 1.2。
Hadoop Virtual Extensions
Hadoop Virtual Extensions打破了應(yīng)用和物理主機之間的虛擬抽象。但在某些方面,Hadoop平臺可以看作是虛擬化的另一層,增加橫向擴展的數(shù)據(jù)和計算管理到hypervisor。
HVE本質(zhì)上是在Hadoop層級的節(jié)點和機架之間插入一個新級別的“節(jié)點組”。節(jié)點組代表了一套虛擬的Hadoop節(jié)點,在每個給定的hypervisor服務(wù)器上,幫助告知Hadoop和HDFS管理算法。
其效果是,即使在虛擬環(huán)境中,Hadoop也可以保持“數(shù)據(jù)局部性”的知識,以保持計算任務(wù)靠近所需的數(shù)據(jù)提高性能,并為容錯確保最佳的復制位置。#p#
數(shù)據(jù)節(jié)點選項
當你虛擬化Hadoop節(jié)點,你也可以選擇從數(shù)據(jù)節(jié)點分離計算(任務(wù)跟蹤器,等等),并把他們分別放在不同的虛擬機。如果計算節(jié)點和數(shù)據(jù)節(jié)點的虛擬機仍然駐留在相同的hypervisor服務(wù)器,他們可以有效地在虛擬網(wǎng)絡(luò)“內(nèi)存”溝通,并不會受到任何顯著的物理網(wǎng)絡(luò)延遲的影響。 HVE可以確保數(shù)據(jù)保持本地的關(guān)系以提高性能。
計算節(jié)點和數(shù)據(jù)節(jié)點分離,為您提供了正交尺度和配置多個計算節(jié)點共享單一的數(shù)據(jù)節(jié)點的選項。這種新的靈活性,允許優(yōu)化物理服務(wù)器主機的資源利用率,雖然為每個應(yīng)用程序?qū)さ煤线m的比值可能需要大量的實驗。
虛擬化和分離數(shù)據(jù)節(jié)點還有其他的好處。不僅多個計算節(jié)點可以從一個群集訪問給定的數(shù)據(jù)節(jié)點,而且虛擬化意味著可以托管和配置多個Hadoop集群訪問相同的數(shù)據(jù)節(jié)點。
事實上,HDFS可以作為服務(wù)提供,當作一個更永久的數(shù)據(jù)存儲庫來管理,而各種計算“應(yīng)用”可以動態(tài)地飄來飄去。通過這種方式,HDFS現(xiàn)在可以作為向外擴展的虛擬存儲設(shè)備提供服務(wù)。
大數(shù)據(jù)SAN?
物理Hadoop架構(gòu)的成本令人信服的理由之一是避免昂貴的SAN,尤其是數(shù)據(jù)集變得更加巨大。然而,在虛擬環(huán)境中,考慮用SAN存儲一些大數(shù)據(jù)集可能是有意義的。
原因之一是,通過VMware的BDE GUI配置只計算的虛擬Hadoop集群是很簡單的,但要環(huán)繞大數(shù)據(jù)集仍然是一個挑戰(zhàn)。通過托管數(shù)據(jù)到外部共享存儲上,配置虛擬Hadoop的托管變得幾乎微不足道。并且hypervisor的功能,如DRS和HA也可以被充分利用。帕特·基辛格(Pat Gelsinger)在EMC World 2013大會上爽快地展示了使用外部的Isilon存儲玩轉(zhuǎn)虛擬Hadoop集群。

考慮SAN存儲另一個原因是,如果你有數(shù)據(jù)治理的顧慮。HDFS是不容易備份、保護或?qū)徲嫷摹6鳶AN建有強大的數(shù)據(jù)保護(RAID比一式三份的復制使用更少的磁盤)和快照功能。這很容易保護一些大數(shù)據(jù)應(yīng)用至關(guān)重要的數(shù)據(jù),如有必要可以回滾。關(guān)注確保高性能網(wǎng)絡(luò),從SAN 的性能當然也可以獲得比DAS服務(wù)器提供更高的吞吐量。
這里還值得一提的是磁盤故障恢復,因為大數(shù)據(jù)在大量的磁盤上,故障變得相當普遍。
在一個正常的Hadoop集群,一個本地磁盤故障會關(guān)閉相應(yīng)的節(jié)點,然后Hadoop在它周圍繼續(xù)工作。但在一個虛擬的環(huán)境中,磁盤故障可能會關(guān)閉數(shù)據(jù)節(jié)點,但多個虛擬數(shù)據(jù)節(jié)點可以配置于每個hypervisor服務(wù)器。磁盤發(fā)生故障,虛擬數(shù)據(jù)節(jié)點不會關(guān)閉hypervisor上任何的其他虛擬Hadoop節(jié)點。
利用SAN存儲,高可用的Hadoop應(yīng)用程序可能永遠不會知道磁盤故障曾經(jīng)發(fā)生。
虛擬化Hadoop很瘋狂?
有許多理由為什么虛擬化Hadoop在很多使用場景有意義。作為一個虛擬的工作負載,Hadoop在一套廣泛的使用場景可以實現(xiàn)堪比物理主機的預(yù)期性能,同時有助于進一步鞏固和優(yōu)化IT基礎(chǔ)架構(gòu)投資。
此時,一千節(jié)點群集,有多個PB級連續(xù)使用的數(shù)據(jù),不太可能是虛擬化的候選者。不過,我們認為,大多數(shù)組織有一些大數(shù)據(jù)的機會,數(shù)據(jù)量在10-20TB之間,他們可以從這些數(shù)據(jù)中提取價值,如果他們的IT可以提供向外擴展(scale-out)的分析解決方案,作為具有成本效益的服務(wù)。
通過虛擬Hadoop的能力,一個單一的大數(shù)據(jù)集可以很容易地共享在多個虛擬Hadoop集群之間。這創(chuàng)造了一個相同的存儲服務(wù)于多個客戶端的機會。消除大數(shù)據(jù)集的多個副本,降低數(shù)據(jù)遷移量,并確保更高的可用性和數(shù)據(jù)保護,Hadoop變得更易于管理,并且易于作為支持企業(yè)生產(chǎn)的應(yīng)用。
事實上,在企業(yè)Hadoop很多的預(yù)期使用場景,托管虛擬化Hadoop到更少但相對較貴的虛擬服務(wù)器,包括潛在的昂貴的存儲選項,其總體擁有成本(TCO)仍然比采用商品化服務(wù)器構(gòu)建專用的物理集群更加低廉。開源的人群開始把目光投向競爭的“Project Savannah”項目,希望把類似的功能引入OpenStack/ KVM。
共享和聯(lián)合節(jié)點的因素,易于管理,彈性配置,靈活的服務(wù),共享數(shù)據(jù)服務(wù)和更高的可用性,可以導致成本比較有利。但我們認為,創(chuàng)建一個完整的Hadoop集群on demand的能力,有效地“精簡置備”是足夠誘人,對于許多在現(xiàn)有的vSphere平臺上低風險嘗試vSphere Big Data Extensions的組織。我們相信這將導致顯著的采納。