hadoop2.2穩定版本新特性

jopen 10年前發布 | 21K 次閱讀 分布式/云計算/大數據 Hadoop2

原文出自:http://dongxicheng.org/mapreduce-nextgen/hadoop-2-2-0/

Hadoop 2.0的第一個穩定版本2.2.0于2013年10月15如發布了,這個版本是 繼1.0.0版本后,又一個具有里程碑意義的版本,這意味著Hadoop進入2.0時代。本文嘗試解析Hadoop 2.2.0中包含的新特性。

 下圖是Apache Hadoop官網發布的2.2.0中涉及到的新特性,主要有8個特性,具體如下:

hadoop2.2穩定版本新特性

特性1:引入一個新的資源管理系統YARN

YARN是“Yet Another Resource Negotiator”的簡稱,它是Hadoop 2.0引入的一個全新的通用資源管理系統,可在其之上運行各種應用程序和框架,比如MapReduce、Tez、Storm等,它的引入使得各種應用運行 在一個集群中成為可能。YARN是在MRv1基礎上衍化而來的,是MapReduce發展到一定程度的必然產物,它的出現使得Hadoop計算類應用進入 平臺化時代,我的博客中包含大量介紹YARN的文章,有興趣的讀者可閱讀:http://dongxicheng.org/category/mapreduce-nextgen/

特性2:HDFS單點故障得以解決

Hadoop 2.2.0同時解決了NameNode單點故障問題和內存受限問題,其中,單點故障是通過主備NameNode切換實現的,這是一種古老的解決服務單點故 障的方案,主備NameNode之間通過一個共享存儲同步元數據信息,因此共享存儲系統的選擇稱為關鍵,而Hadoop則提供了NFS、QJM和 Bookeeper三種可選的共享存儲系統,具體可閱讀我的這篇文章:Hadoop 2.0單點故障問題方案總結

特性3:HDFS Federation

前面提到HDFS 的NameNode存在內存受限問題,該問題也在2.2.0版本中得到了解決。這是通過HDFS Federation實現的,它允許一個HDFS集群中存在多個NameNode,每個NameNode分管一部分目錄,而不同NameNode之間彼此 獨立,共享所有DataNode的存儲資源,注意,NameNode Federation中的每個NameNode仍存在單點問題,需為每個NameNode提供一個backup以解決單點故障問題。

特性4:HDFS快照

HDFS快照是指HDFS文件系統(或者子系統)在某一時刻的只讀鏡像,它的出現使得管理員可定時為重要文件或目錄做快照,以防止數據誤刪、丟失等。具體可閱讀:Snapshots for HDFS(使用說明),Support for RW/RO snapshots in HDFS

特性5:通過NFSv3訪問HDFS

NFS允許用戶像訪問本地文件系統一樣訪問遠程文件系統,而將NFS引入HDFS后,用戶可像讀寫本地文件一樣讀寫HDFS上的文件,大大簡化了HDFS 使用,這是通過引入一個NFS gateway服務實現的,該服務能將NFS協議轉換為HDFS訪問協議,具體如下圖所示。有興趣的讀者可閱讀:Support NFSv3 interface to HDFS,以及相關設計文檔:HDFS NFS Gateway

hadoop2.2穩定版本新特性

特性6:支持Windows操作系統

在2.2.0版本之前,Hadoop僅支持Linux操作系統,而Windows僅作為實驗平臺使用。從2.2.0開始,Hadoop開始支持Windows操作系統,具體可閱讀我之前寫的一篇文章:Hadoop For Windows

特性7:兼容1.x上運行的MapReduce應用程序

我在文章“淺談MRv1和MRv2的API兼容性”一文中已經有詳細介紹。

特性8:與Hadoop生態系統其他系統進行了充分的集成測試

除了HDFS、MapReduce和YARN這三個核心系統外,Hadoop生態系統還包括Hbase、Hive、Pig等系統,這些系統底層依賴于 Hadoop內核,而相比于Hadoop 1.0,Hadoop 2.0的最大變化出現在內核(HDFS、MapReduce和YARN),但與生態系統中其他系統進行集成測試是必需的。

除了以上8個特性外,Apache官方還給出了兩個特殊說明:

(1)HDFS變化:HDFS的symlinks(類似于Linux中的軟連接)被將移到了2.3.0版本中

(2)YARN/MapReduce注意事項:管理員在NodeManager上設置ShuffleHandler service時,要采用“mapreduce_shuffle”,而非之前的“mapreduce.shuffle”作為屬性值(參考:YARN-1229),即:

<property>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

</property>

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!