1. 程式人生 > >RAID 5 (分散式奇偶校驗的獨立磁碟結構)

RAID 5 (分散式奇偶校驗的獨立磁碟結構)

Hadoop:與RAID類似嗎?

鑑於cheap and deep(廉價和深入)的傾向,隨著時間的推移出現預期的一類或另一類元件失敗。所以Hadoop的目的是檢測並解決故障。這方面Hadoop有點類似於初期以廉價磁碟冗餘陣列為代表的RAID。假設,由許多PC級磁碟構成儲存陣列,驅動器將來很可能發生故障。訣竅是允許驅動器出現故障而不丟失資料。不同的RAID級別(0,1,3,5,6等等)提供多種陣列配置和驅動器故障恢復模式。

的確,Hadoop可以看作廉價伺服器冗餘陣列(RAIS). Hadoop也假設冗餘伺服器的硬體故障將是一個正常的操作事件,並因此內建恢復程序。大多數部署在Hadoop分散式檔案系統(HDFS)中.例如,當提取資料時,它被分解成資料塊(預設是64MB塊)。塊被多次拷貝然後分佈――原始和副本――訪問DataNodes。HDFS預設建立兩份副本,並且通常寫入到不同機架的伺服器。這個拷貝和分佈程序由NameNode管理。如果由於某種原因一個DataNode伺服器出現故障,包括內部磁碟故障,這個NameNode將在叢集中其它地方找到丟失的資料,當故障節點被重啟或替換後進程能夠繼續執行。

區別於現代RAID陣列

儘管如此,還有一些明顯的遺漏。從DataNode的故障中恢復比NameNode中斷恢復相對容易。在當前的Apache Hadoop版本中,沒有適用於無功能的NameNode的自動恢復規定。Hadoop NameNode是一個臭名昭著的單點故障點(SPOF)——和RAID陣列沒有什麼不同,單控制器的RAID陣列也是一個SPOF。NameNode損壞關閉叢集可能導致資料丟失,如果故障發生,資料不能被恢復。此外,重啟大叢集(假設資料可恢復)中的NameNode可能花費數小時。

Apache Hadoop定址問題

缺乏自動NameNode故障轉移模式和其它Apache Hadoop的缺點(JobTracker是另一個SPOF)給商業供應商急於出售“企業就緒”方案提供了機會。這些供應商的普遍做法之一是從本質上支援Apache Hadoop,通過APIs訪問核心Hadoop元件,像HDFS一樣隨同他們自身修改,一些開放的和其它的專利。供應商列表分成以下幾類(但不限於此):

• EMC

• HortonWorks

• IBM

• MapR (也是由EMC Greenplum提供)

• Red Hat

這些供應商(其它供應商希望在解決問題的同時,保留Hadoop的MapReduce框架)的業務首先是為了解決NameNode和JobTracker SPOF問題。例如,MapR是Apache Hadoop工具的分佈,實現叢集中跨伺服器分散式NameNode功能(分散式NameNode負載均衡)。Red Hat的GlusterFS使用它內建的元資料感知NameNode,完全消除了元資料伺服器。

我們也提到,Hadoop建立多個跨叢集分佈的資料副本,適用於不同的恢復場景。然而,使用快照替代可能適用於回滾叢集到一個已知的好的狀態,同時降低全資料拷貝的開銷。一些供應商在他們的Hadoop架構中支援快照拷貝。

回顧我們關於向外擴充套件的網路直連儲存(NAS)作為Hadoop主儲存的討論, EMC Isilon也可以用來解決這些問題。Isilon的OneFS全域性名稱空間檔案系統能夠支援Greenplum Hadoop (HD)叢集。Isilon把HDFS看作“過線”協議,因此是第一個整合到HDFS的SoNAS平臺。它也解決了Hadoop NameNode 和 JobTracker功能的單點故障。

Apache Hadoop的迴應

公平地說,我們不得不指出Apache社群清楚Hadoop當前NameNode和其它問題的缺陷。事實上,現在從Cloudera (CDH 4.0)可以得到一個重要的作為測試版的新版本,專門針對NameNode SPOF問題。它包括一個HDFS的高可用(HA)版本.在HA版本中是一個“熱備”NameNode,在管理員控制下,當活動節點出現故障或因管理員在日常維護和升級將NameNode離線時接管——通常這種情況很有可能。總之,HDFS HA包括兩個主/備配置的NameNodes。將來,支援自動NameNode故障切換。

結語

我們由關注大資料儲存開始本系列,另一種說法是PB級儲存,大資料分析是做商業智慧(BI)的新途徑。但是,我們已經看到大資料儲存如何與Hadoop結合使用——整合大資料儲存和分析——Hadoop可以被看作一個PB級儲存裝置。

然而,我們還沒有真正探索一個最終的但重要的因素:成本。除了我們以前描述的給無共享叢集增加網路儲存的潛在問題,一個儲存區域網路(SAN)和NAS也被“傳統主義者”視為太昂貴的方法。記住這個準則:cheap and deep。與之相似,在叢集結點級固態硬碟(SSD)作為直連儲存(DAS)的替代方案。甚至能夠用渦輪給叢集增壓的儲存在規模和適用性上被視為太昂貴,只適用於那些願意為效能付錢的使用者。

真正的問題是廉價和深的思想將來是否會在企業級資料中心盛行。如果確實如此,節點級DAS作為Hadoop唯一的儲存層將很可能盛行,直到有人意識到持續增加伺服器到叢集來適應資料增長,同時會有越來越多的增長維護問題和管理開銷方面成本影響。如果不是這樣,為了業務連續和資料儲存目的SAN 和/或 NAS將作為一級或二級儲存層,並且儲存管理員的技能將被再次加分。