mapr集群

mapr集群

2011年6月,在Hadoop 2011峰會上,MapR的創始人M.C. Srivas做了名為《Design, Scale and Performance of MapR's Distribution for Hadoop》的演講,比較詳細的介紹了MapR設計原則,部分實現細節以及MapR的性能,外界也第一次從內部了解MapR Hadoop。

基本介紹

  • 中文名:mapr集群
  • 發布日期:2011年6月
  • 依據會議:Hadoop 2011峰會
  • 創始人:M.C. Srivas
設計思想,MapR原理介紹,MapR兩大優勢,

設計思想

MapR認為,解決Hadoop的種種問題,要採用以下設計思想:
1)使用分散式的meta server
集中式的meta server可擴展性不好,對應的解決方案就是使用分散式的meta server,讓每個節點都變成meta server。 但是這裡要解決的問題是meta server不能占用太多記憶體,要留出足夠的記憶體供M/R 套用來使用。
2) 要讓每個Datanode上支持的block數量增加,同時減少block-report的大小。
3) 因為記憶體容量總是有限的,所以要減小查找服務的記憶體開銷。
4) 服務能夠快速重啟(這樣可以更好的實現HA)。
通過上述方式,MapR期望這種設計能極大的提高Hadoop的擴展能力,比如支持的節點數目從當前2000個左右擴展到10000個以上,系統檔案容量從10-50PB擴展到1-10EB,檔案數量從1.5億擴展到1萬億(1 trillion)左右。同時,系統還需要支持完全的隨機讀寫以及一系列企業套用特性,比如快照,mirror等等。MapR還期望在性能上有所突破,儘可能的榨取硬體的能力,並能對新的硬體技術(固態硬碟,萬兆網卡等)提供支持。

MapR原理介紹

縱觀其實現,整個MapR的核心是其分散式NameNode, 在MapR的設計中,分散式的NameNode又被稱作Container,和Hadoop原始設計中的Namenode不一樣的是,Container不僅維護了用戶檔案的meta data,也維護數據塊。每個Container的大小在16GB-32GB之間(這也就意味著一個node上會有很多個container),同一個Container在不同node間有replica。對於用戶來說,Container的概念過於底層,MapR引入了Volume的概念來降低使用用戶門檻和提高系統的靈活性。 MapR Volume的概念和傳統存儲概念意義上的Volume相當類似,用戶不需要直接管理Container,相應的,用戶通過管理volumes來管理Container:用戶可以為每個Volume指定不同的大小限制,replication level等參數。此外,用戶還可以對volume建立snapshot,mirror等。
Container,volume相關的meta data被維護在被稱為CLDB中(container location database)。 CLDB是一個集中式的服務,為此,MapR為CLDB設計了 一系列的容錯
採用分散式Namenode的一個必然結果就是要處理大量的分散式事務: 用戶有可能同時操作兩個Container。 針對這種情況, MapR認為傳統的兩階段提交和基於Quarum 的協定(例如Paxos)都有局限性,他們提出了新的解決方案: MapR lockless transaction。Srivas的講座並沒有過多討論MapR lockless transaction的細節,從有限的幾張PPT裡面,我們還是可以得知一二的:
1) 每個節點都會保存一份WAL。WAL分為兩種,OP log和Value log。OP log主要保存對meta data的修改和回滾信息,相應的,Value log主要保存對data block的修改和回滾信息。
mapr集群
2) Log有全局的ID(利用Zookeeper可以很容易的實現這一點),這就使得其可以用來實現分散式事務成為可能。
3) 利用WAL,事務可以快速的回滾(2秒以內)
4) MapR lockless transaction不需要顯式的提交(即默認事務會成功執行)
5) Replica會進行監測是否存在衝突,如果有衝突,則回滾事務。如果沒有,則confirm事務
MapR聲稱這種實現方式有很高的吞吐率,而且事務進行過程中不需要鎖, 而且因為WAL的存在,如果事務進行過程中出現程式崩潰也無所謂。實際上,MapR lockless transaction的實現是仔細分析了MapR 分散式事務的特點以後的一種設計折中: 作為大數據分析平台,Hadoop要處理的數據集並往往是唯讀或者讀多寫少(當前版本的Hadoop HDFS實際上是唯讀的),分散式事務存在衝突的幾率比較小,就是說,代價很大的回滾操作執行的幾率很小,在這種情況下,放棄開銷很大的鎖機制是划算的。

MapR兩大優勢

除了分散式Namenode這個大亮點之外,MapR還實現了一系列高級特性,對原來Hadoop的功能進行了大幅度的增強。這其中最吸引眼球的有兩點:
1) Direct Access NFS技術。
顧名思義,用戶可以直接在遠程通過NFS 客戶端把MapR HDFS裝載到其本地,像操作本地檔案一樣來進行操作。這個特性在Hadoop峰會上引起了廣泛關注,講座結束後相當一部分問題都集中於此。比如,支持符號連結? 支持O_DIRECT訪問么? 同時Direct Access NFS支持檔案的隨機讀寫(原始Hadoop的檔案系統可以被認為是唯讀的),大大的擴展了MapR Hadoop的套用範圍。
2) Snapshot,Mirror等企業套用特性。
Snapshot(快照),Mirror(鏡像)等企業套用特性是是企業IT管理人員必不可少的工具,是處理複雜需求的得力助手。通過支持Volume,MapR Hadoop方便的支持了這些功能,使得Hadoop不再只是開發人員的專寵,數據科學家,IT管理人員也能夠方便的訪問Hadoop這個功能強大的大數據分析平台。

相關詞條

熱門詞條

聯絡我們