如何更好使用外部存儲(chǔ)以適合Hadoop?

責(zé)任編輯:editor04

2014-08-28 19:34:01

摘自:TechTarget中國(guó)

用外部存儲(chǔ)構(gòu)建Hadoop,你不僅可以把存儲(chǔ)管理分開,也可以利用獨(dú)立的“增長(zhǎng)的載體”(vectors of growth)。毋須增加其它多余的資源就可以容易地增加存儲(chǔ)或者計(jì)算。

使用Hadoop驅(qū)動(dòng)大規(guī)模數(shù)據(jù)的分析并不一定意味著構(gòu)建分布式存儲(chǔ)的集群,一臺(tái)好的舊陣列可能是一個(gè)更好的選擇。

Hadoop的最初的架構(gòu)設(shè)計(jì)是以橫向擴(kuò)展的方式使用相對(duì)便宜的商品服務(wù)器及其本地存儲(chǔ)。Hadoop的最初目標(biāo)是對(duì)數(shù)據(jù)進(jìn)行符合成本效益的開發(fā)利用,這在以前是行不通的。我們都聽說過大規(guī)模數(shù)據(jù)量、大規(guī)模數(shù)據(jù)類型、大規(guī)模數(shù)據(jù)速度等用于描述這些以前難以處理的數(shù)據(jù)集的詞語(yǔ)??紤]到定義如此廣泛的目標(biāo),大多數(shù)公司都可以指出他們打算開發(fā)利用的某類大規(guī)模數(shù)據(jù)。

大規(guī)模數(shù)據(jù)每天不斷膨脹,存儲(chǔ)廠商憑借其相對(duì)昂貴的SAN和網(wǎng)絡(luò)附加存儲(chǔ)(network attached storage,NAS)系統(tǒng),開始參加大規(guī)模數(shù)據(jù)的派對(duì)。它們不能把所有這些數(shù)據(jù)留給往機(jī)箱里塞商品磁盤驅(qū)動(dòng)器的服務(wù)器廠商。盡管采用Hadoop仍處于早期階段,但是競(jìng)爭(zhēng)和混亂的營(yíng)銷鼓噪甚囂塵上。

高級(jí)別Hadoop和HDFS 在Hadoop的橫向擴(kuò)展設(shè)計(jì)中,集群的每個(gè)物理節(jié)點(diǎn)都托管了本地計(jì)算和數(shù)據(jù)共享;旨在支持經(jīng)常需要穿越大規(guī)模數(shù)據(jù)集的應(yīng)用程序,例如搜索。

Hadoop的很多價(jià)值在于:它對(duì)橫向擴(kuò)展的集群中的分布式數(shù)據(jù)塊有效地執(zhí)行并行算法(parallel algorithm)的方式。

Hadoop由基于MapRduce的一個(gè)計(jì)算引擎和一個(gè)名為Hadoop 分布式文件系統(tǒng)(Hadoop Distributed File System,HDFS)的數(shù)據(jù)服務(wù)組成。Hadoop利用數(shù)據(jù)的高度“局部性”(locality),使用HDFS把大規(guī)模數(shù)據(jù)集散布到很多節(jié)點(diǎn)上,把并行的計(jì)算任務(wù)托付到每一個(gè)數(shù)據(jù)節(jié)點(diǎn)(即MapReduce的“映射”(map)部分),隨后進(jìn)行各種各樣的重排和整理合并的步驟而得出結(jié)果。(即“規(guī)約”(reduce)部分)

通常,每個(gè)HDFS數(shù)據(jù)節(jié)點(diǎn)將被指派使用DAS磁盤。然后HDFS將向所有的數(shù)據(jù)節(jié)點(diǎn)復(fù)制數(shù)據(jù),通常在不同的數(shù)據(jù)節(jié)點(diǎn)上生成兩到三份的拷貝。復(fù)制的數(shù)據(jù)被放在不同的服務(wù)器節(jié)點(diǎn)上,而第二份復(fù)制的數(shù)據(jù)則放在不同的節(jié)點(diǎn)“機(jī)架”上,以避免機(jī)架級(jí)別的損失。

顯然,復(fù)制比RAID占用了更多的原始容量,但是它也具備一些優(yōu)勢(shì),例如避免重建窗口。

為什么使用企業(yè)級(jí)存儲(chǔ)?

因此,如果HDFS以一種源于MapReduce式的處理方法輕易地處理了數(shù)據(jù)集的最大部分,使用相對(duì)便宜的本地磁盤并提供內(nèi)置的“架構(gòu)感知”復(fù)制,為什么要考慮使用企業(yè)級(jí)存儲(chǔ)?舉例來說,在HDFS元數(shù)據(jù)服務(wù)器節(jié)點(diǎn)中仍然有潛在的漏洞。盡管每一個(gè)版本的Hadoop在HDFS可靠性方面都做了改善,但是把HDFS元數(shù)據(jù)服務(wù)器用于更可靠的基于RAID的存儲(chǔ)仍有爭(zhēng)議。

備份、保護(hù)或者審計(jì)本機(jī)HDFS并非易事。當(dāng)然,NAS和SAN內(nèi)置了極好的數(shù)據(jù)保護(hù)和快照。

把外部共享存儲(chǔ)用于大批數(shù)據(jù)有很多IT方面的原因。首先,盡管Hadoop可以橫向擴(kuò)展處理多個(gè)PB的數(shù)據(jù),但是大多數(shù)大規(guī)模數(shù)據(jù)集很可能只有10TB到50TB的幅度。幾個(gè)TB大小的傳統(tǒng)的數(shù)據(jù)集幾乎等于零處理,但恰好在橫向擴(kuò)展的SAN和NAS解決方案的成本效益范圍之內(nèi)。那些共享數(shù)據(jù)集對(duì)公司現(xiàn)有業(yè)務(wù)流程而言通常是不可或缺的,相對(duì)于HDFS,在企業(yè)級(jí)存儲(chǔ)上可以更有效地被控制、管理和集成。

盡管有用于Hadoop生態(tài)系統(tǒng)的具備安全意識(shí)的部件(例如Sentry和Accumulo),數(shù)據(jù)安全和數(shù)據(jù)保護(hù)是考慮使用外部存儲(chǔ)的其它主要原因。備份、保護(hù)或者審計(jì)本機(jī)HDFS并非易事。當(dāng)然,NAS和SAN內(nèi)置了極好的數(shù)據(jù)保護(hù)和快照。

使用外部企業(yè)級(jí)存儲(chǔ)的時(shí)候,一款高可用的Hadoop應(yīng)用程序(由于Hadoop逐步形成實(shí)時(shí)查詢和流分析功能而變得越來越普遍)可能永遠(yuǎn)無法知道磁盤故障已經(jīng)出現(xiàn)。

用外部存儲(chǔ)構(gòu)建Hadoop,你不僅可以把存儲(chǔ)管理分開,也可以利用獨(dú)立的“增長(zhǎng)的載體”(vectors of growth)。毋須增加其它多余的資源就可以容易地增加存儲(chǔ)或者計(jì)算。由于與Hadoop的“總量”(gross)復(fù)制相比企業(yè)級(jí)RAID解決方案將使用較少的磁盤占用空間,因此也有成本支出方面的優(yōu)勢(shì)。

把Hadoop橫向擴(kuò)展節(jié)點(diǎn)部署為虛擬機(jī)允許按需配置,并輕易地?cái)U(kuò)展或縮小集群。

共享是外部存儲(chǔ)的制勝之道,因?yàn)榘汛笠?guī)模數(shù)據(jù)移進(jìn)和移出Hadoop集群具有挑戰(zhàn)性。使用外部存儲(chǔ)的時(shí)候,多個(gè)應(yīng)用程序和用戶可以通過不通的客戶端訪問相同的“主”數(shù)據(jù)集,甚至在其正在被Hadoop應(yīng)用程序使用的時(shí)候進(jìn)行更新和寫數(shù)據(jù)。

虛擬化Hadoop 在虛擬化的Hadoop的場(chǎng)景中,外部存儲(chǔ)也具有優(yōu)勢(shì)。我們預(yù)計(jì)這將成為在企業(yè)中部署Hadoop的常用方法。把Hadoop橫向擴(kuò)展節(jié)點(diǎn)部署為虛擬機(jī)允許按需配置,并輕易地?cái)U(kuò)展或縮小集群。

多個(gè)虛擬Hadoop節(jié)點(diǎn)可以被托管到每個(gè)虛擬機(jī)管理程序,并可以輕易地為指定的應(yīng)用程序分配更多或者更少的資源。虛擬機(jī)管理程序級(jí)別的高可用(high-availability ,H/A)/容錯(cuò)功能可以被用于生產(chǎn)級(jí)別的Hadoop應(yīng)用程序。性能是一個(gè)擔(dān)心,但是更多的資源可以被動(dòng)態(tài)地應(yīng)用到需要的地方,為某些Hadoop應(yīng)用程序提供即便不是優(yōu)越也是對(duì)應(yīng)的性能。

虛擬地存放大規(guī)模數(shù)據(jù) 考慮物理Hadoop架構(gòu)的一個(gè)令人信服的理由是避免昂貴的SAN,尤其當(dāng)數(shù)據(jù)集越來越大的時(shí)候。然而,在虛擬環(huán)境中,考慮外部存儲(chǔ)可能更適合。一個(gè)原因是精簡(jiǎn)僅限于計(jì)算的虛擬Hadoop集群相當(dāng)簡(jiǎn)單,但是,散發(fā)大規(guī)模數(shù)據(jù)集仍將是一項(xiàng)挑戰(zhàn)。通過把數(shù)據(jù)托管到外部共享存儲(chǔ),精簡(jiǎn)虛擬Hadoop的托管就變得幾乎無關(guān)緊要了,而DRS和HA之類的虛擬機(jī)管理程序的功能可以得到充分利用。

由于單個(gè)大規(guī)模數(shù)據(jù)集可以輕易地在多個(gè)虛擬化的Hadoop集群中被“恰當(dāng)?shù)?rdquo;分享,因此有機(jī)會(huì)以相同的存儲(chǔ)為多個(gè)客戶端提供服務(wù)。通過消除數(shù)據(jù)集的多個(gè)拷貝,減少數(shù)據(jù)遷移的總量,并確保更高的可用性和數(shù)據(jù)保護(hù),作為一款企業(yè)級(jí)生產(chǎn)級(jí)別的應(yīng)用程序的Hadoop變得更可管理,并輕易地獲得支持。在較少但相對(duì)更貴、存儲(chǔ)選項(xiàng)更貴的虛擬服務(wù)器上托管虛擬化Hadoop的TCO仍然會(huì)比堅(jiān)持使用專門的商品服務(wù)器物理集群的要低。

如何使用才是關(guān)鍵

默認(rèn)的DAS選項(xiàng)相比,外部存儲(chǔ)更昂貴,但是這只是與存放數(shù)據(jù)有關(guān)的平衡賬目的“其它”事情而已。關(guān)于使用外部存儲(chǔ)的決定必須以TCO為基礎(chǔ),包括同時(shí)考慮數(shù)據(jù)集的傳入來源和端到端的工作流。其它工作負(fù)載可能可以有效地共享一個(gè)單一的數(shù)據(jù)資源庫(kù),而現(xiàn)有的資產(chǎn)和技能也可以被利用。另外,高端存儲(chǔ)的攝入、性能、容量或者可伸縮性可能有限制。

鏈接已復(fù)制,快去分享吧

企業(yè)網(wǎng)版權(quán)所有?2010-2024 京ICP備09108050號(hào)-6京公網(wǎng)安備 11010502049343號(hào)