hadoop最新穩定版本使用建議

Apache Hadoop
Apache版本衍化比較快,我給你們介紹一下過程
ApacheHadoop版本分爲兩代,咱們將第一代Hadoop稱爲Hadoop 1.0,第二代Hadoop稱爲Hadoop 2.0。第一代Hadoop包含三個大版本,分別是0.20.x,0.21.x和0.22.x,其中,0.20.x最後演化成1.0.x,變成了穩定版,而0.21.x和0.22.x則NameNode HA等新的重大特性。第二代Hadoop包含兩個版本,分別是0.23.x和2.x,它們徹底不一樣於Hadoop 1.0,是一套全新的架構,均包含HDFS Federation和YARN兩個系統,相比於0.23.x,2.x增長了NameNodeHA和Wire-compatibility兩個重大特性。通過上面的大致解釋,你們可能明白了Hadoop以重大特性區分各個版本的,總結起來,用於區分Hadoop版本的特性有如下幾個:
(1)Append 支持文件追加功能,若是想使用HBase,須要這個特性。
(2)RAID 在保證數據可靠的前提下,經過引入校驗碼較少數據塊數目.
(3)Symlink支持HDFS文件連接
(4)Security Hadoop安全。
須要注意的是,Hadoop 2.0主要由Yahoo獨立出來的hortonworks公司主持開發。
2013年10月,Hadoop 2.0發佈。關鍵特性包括:
a) YARN
YARN是「YetAnother Resource Negotiator」的簡稱,它是Hadoop 2.0引入的一個全新的通用資源管理系統,可在其之上運行各類應用程序和框架,好比MapReduce、Tez、Storm等,它的引入使得各類應用運行在一個集羣中成爲可能。YARN是在MRv1基礎上衍化而來的,是MapReduce發展到必定程度的必然產物,它的出現使得Hadoop計算類應用進入平臺化時代,個人博客中包含大量介紹YARN的文章,有興趣的讀者可閱讀: http://dongxicheng.org/category/mapreduce-nextgen/
b) HDFS單點故障得以解決
Hadoop2.2.0同時解決了NameNode單點故障問題和內存受限問題,其中,單點故障是經過主備NameNode切換實現的,這是一種古老的解決服務單點故障的方案,主備NameNode之間經過一個共享存儲同步元數據信息,所以共享存儲系統的選擇稱爲關鍵,而Hadoop則提供了NFS、QJM和Bookeeper三種可選的共享存儲系統,具體可閱讀個人這篇文章:Hadoop 2.0單點故障問題方案總結。
c)HDFS Federation
前面提到HDFS的NameNode存在內存受限問題,該問題也在2.2.0版本中獲得瞭解決。這是經過HDFS Federation實現的,它容許一個HDFS集羣中存在多個NameNode,每一個NameNode分管一部分目錄,而不一樣NameNode之間彼此獨立,共享全部DataNode的存儲資源,注意,NameNode Federation中的每一個NameNode仍存在單點問題,需爲每一個NameNode提供一個backup以解決單點故障問題。
d)HDFS快照
HDFS快照是指HDFS文件系統(或者子系統)在某一時刻的只讀鏡像,它的出現使得管理員可定時爲重要文件或目錄作快照,以防止數據誤刪、丟失等。具體可閱讀:Snapshots for HDFS(使用說明),Support for RW/ROsnapshots in HDFS。
經過NFSv3訪問HDFS
NFS容許用戶像訪問本地文件系統同樣訪問遠程文件系統,而將NFS引入HDFS後,用戶可像讀寫本地文件同樣讀寫HDFS上的文件,大大簡化了HDFS使用,這是經過引入一個NFS gateway服務實現的,該服務能將NFS協議轉換爲HDFS訪問協議,具體以下圖所示。有興趣的讀者可閱讀:Support NFSv3interface to HDFS,以及相關設計文檔:HDFS NFS Gateway。
e)支持Windows操做系統
在2.2.0版本以前,Hadoop僅支持Linux操做系統,而Windows僅做爲實驗平臺使用。從2.2.0開始,Hadoop開始支持Windows操做系統,具體可閱讀我以前寫的一篇文章:Hadoop For Windows。
f)兼容1.x上運行的MapReduce應用程序與Hadoop生態系統其餘系統進行了充分的集成測試
除了HDFS、MapReduce和YARN這三個核心系統外,Hadoop生態系統還包括Hbase、Hive、Pig等系統,這些系統底層依賴於Hadoop內核,而相比於Hadoop 1.0,Hadoop 2.0的最大變化出如今內核(HDFS、MapReduce和YARN),但與生態系統中其餘系統進行集成測試是必需的。
除了以上特性外,Apache官方還給出了兩個特殊說明:
(1)HDFS變化:HDFS的symlinks(相似於Linux中的軟鏈接)被將移到了2.3.0版本中
(2)YARN/MapReduce注意事項:管理員在NodeManager上設置ShuffleHandler service時,要採用「mapreduce_shuffle」,而非以前的「mapreduce.shuffle」做爲屬性值
新版本不只加強了核心平臺的大量功能,同時還修復了大量bug。新版本對HDFS作了兩個很是重要的加強:(1)、支持異構的存儲層次;(2)、經過數據節點爲存儲在HDFS中的數據提供了內存緩存功能。
藉助於HDFS對異構存儲層次的支持,咱們將可以在同一個Hadoop集羣上使用不一樣的存儲類型。此外咱們還可使用不一樣的存儲媒介——例如商業磁盤、企業級磁盤、SSD或者內存等——更好地權衡成本和收益。若是你想更詳細地瞭解與該加強相關的信息,那麼能夠訪問這裏。相似地,在新版本中咱們還能使用Hadoop集羣中的可用內存集中地緩存並管理數據節點內存中的數據集。MapReduce、Hive、Pig等相似的應用程序將可以申請內存進行緩存,而後直接從數據節點的地址空間中讀取內容,經過徹底避免磁盤操做極大地提升掃描效率。Hive如今正在爲ORC文件實現一個很是有效的零複製讀取路徑,該功能就使用了這項新技術。
在YARN方面,令咱們很是興奮的事情是資源管理器自動故障轉移功能已經進入尾聲,雖然在2.3.0這個版本中該功能尚未被髮布,可是極有可能會包含在Hadoop-2.4中。此外,2.3.0版本還對YARN作了一些關鍵的運維方面的加強,例如更好的日誌、錯誤處理和診斷等。
MapReduce的一個關鍵加強MAPREDUCE-4421。藉助於該功能咱們已經再也不須要在每一臺機器上安裝MapReduce二進制程序,僅僅須要經過YARN分佈式緩存將一個MapReduce包複製到HDFS中就能夠了。固然,新版本還包含大量的bug修復以及其餘方面的加強。例如:
(1)YarnClientImpl類中的異步輪詢操做引入了超時;
(2)修復了RMFatalEventDispatcher沒有記錄事件緣由的問題;
(3)HA配置不會影響節點管理器的RPC地址;
(4)RM Web UI和REST API統一使用YarnApplicationState;
(5)在RpcResponseHeader中包含RPC錯誤信息,而不是將其分開發送;
(6)向jetty/httpserver中添加了請求日誌;
(7)修復了將dfs.checksum.type定義爲NULL以後寫文件和hflush會拋出java.lang.ArrayIndexOutOfBoundsException的問題。
2014年4月,Hadoop 2.4.0發佈。關鍵特性包括:
(1)HDFS支持訪問控制列表(ACLs,Access Control Lists);
(2)原生支持HDFS滾動升級;
(3)HDFS FSImage用到了 protocol-buffers,從而能夠平滑地升級;
(4)HDFS徹底支持HTTPS;
(5)YARN ResourceManager支持自動故障轉移,解決了YARNResourceManager的單點故障;
(6)對YARN的Application History Server和 pplication Timeline Server上的新應用增強了支持;
(7)經過搶佔使得YARN Capacity Scheduler支持強SLAs協議;
安全對於Hadoop來講相當重要,因此在Hadoop 2.4.0版本中對HDFS的全部訪問(包括WebHDFS, HsFTP甚至是web-interfaces)都支持了HTTPS。在Hadoop 2.4.0解決了ResourceManager的單點故障。這樣會在集羣中存在兩個ResourceManager,其中一個處於Active;另外一個處於  standby。當Active的出現故障,這樣Hadoop能夠自動平滑地切換到另一個ResourceManager,這個新的ResourceManager將會自動的重啓那些提交的applications。在下一階段,Hadoop將會增長一個熱standby(add a hot standby),這個standby能夠繼續從故障點運行的應用程序,以保存任何已經完成的工做。
2014年8月,Hadoop 2.5.0發佈。關鍵特性包括:
1. Common
a) 使用HTTP代理服務器時認證改進。當經過代理服務器使用WebHDFS時這是很是有用的。
b) 增長了一個新的Hadoop指標監控sink,容許直接寫到Graphite。
c) Hadoop文件系統兼容相關的規範工做。
2. HDFS
a) 支持POSIX風格的擴展文件系統。更多細節查看Extended Attributes in HDFS文檔。
b) 支持離線image瀏覽,客戶端如今能夠經過WebHDFS的API瀏覽一個fsimage。
c) NFS網關獲得大量可支持性的改進和bug修復。Hadoop portmapper不在須要運行網關,網關如今能夠拒絕沒有權限的端口的鏈接。
d)SecondaryNameNode, JournalNode, and DataNode 的web UI已經使用HTML5和JS美化。
3. YARN
a) YARN的RESTAPI如今支持寫/修改操做。用戶能夠用REST API提交和殺死應用程序。
b) 時間線存儲到YARN,用來存儲一個應用通用的和特殊的信息,支持Kerberos認證。
c) 公平調度器支持動態分層用戶隊列,運行時,用戶隊列在任一指定的父隊列中被動態的建立。
2014年11月,Hadoop 2.6.0發佈。(推薦使用)
是市場上企業應用最多,與其它發行版結合最好的版本,推薦你們用這個版本。
關鍵特性包括:
1. Common
Hadoop Key Management Server(KMS)是一個基於HadoopKeyProvider API編寫的密鑰管理服務器。他提供了一個client和一個server組件,client和server之間基於HTTP協議使用REST API通訊。Client是一個KeyProvider的實現,使用KMS HTTP REST API與KMS交互。KMS和它的client有內置的安全機制,支持HTTP SPNEGO Kerberos認證和HTTPS安全傳輸。KMS是一個Java Web應用程序,運行在與Hadoop發行版綁定在一塊兒的預先配置好的Tomcat服務器上。
2. Tracing
HDFS-5274增長了追蹤經過HDFS的請求的功能,此功能使用了開源的庫,HTrace。你們能夠看一下HTrace,功能很強大,Cloudera開源出來的。
3. HDFS
a) TransparentEncryption,HDFS實現了一個透明的,端到端的加密方式。一旦配置了加密,從HDFS讀出數據解密和寫入數據加密的過程對用戶應用程序代碼帶來講都是透明的。加密過程是端到端的,這意味着數據只能在客戶端被加密解密。HDFS歷來不存儲,也不訪問未加密的數據和數據加密密鑰。這樣知足了加密過程的兩個典型的需求:at-rest encryption(靜態加密,也就是說,數據持久化在像硬盤這樣的媒介上),in-transit encryption(在途加密,例如,當數據在網絡中傳輸的時候)。
b) StorageSSD&& Memory。ArchivalStorage(檔案存儲器)是將計算能力與不斷增加的存儲能力分離。擁有高密度低成本的存儲可是計算能力較低的節點將變得可用,能夠在集羣中作冷存儲。增長更多的節點做爲冷存儲能夠提升集羣的存儲能力,跟集羣的計算能力無關。
4. MapReduce
這一部分主要是一些bug的修復和改進。增長了兩個新的新特,在2.5.2裏已經有所描述了。這裏在簡單看一下。
a) ResourceMangerRestart
b) 容許AM發送歷史事件信息到timeline server。
5. YARN
a) NodeManagerRestart:這個特性可使NodeManager在不丟失運行在節點中的活動的container的狀況下從新啓動。
b) DockerContainer Executor:DockerContainer Executor(DCE)容許YARN NodeManager在Docker container中啓動YARN container。用戶能夠指定他們想用來運行YARN container的Docker的鏡像。這些container提供了一個能夠自定義的軟件環境,用戶的代碼能夠運行在其中,與NodeManager運行的環境隔離。這些運行用戶代碼的container能夠包含應用程序須要的特定的庫,它們能夠擁有與NodeManager不一樣版本的Perl,Python甚至是Java。事實上,這些container能夠運行與NodeManager所在的OS不一樣版本的Linux。儘管YARNcontainer必須定義運行Job所需的全部的環境和庫,可是NodeManager中的全部的東西都不會共享。
Docer爲YARN提供了一致和隔離兩種模式,一致模式下,全部的YARN container將擁有相同的軟件環境,在隔離模式下,無論物理機器安裝了什麼都不干擾。
2015年7月,Hadoop 2.7.0發佈。關鍵特性包括:
1. Common
支持WindowsAzure Storage,BLOB做爲Hadoop中的文件系統。
Hadoop HDFS
a) 支持文件截斷(file truncate);
b) 支持每一個存儲類型配額(Support for quotas per storage type);
c) 支持可變長度的塊文件
2. YARN
一、YARN安全模塊可插拔
a)YARN的本地化資源能夠自動共享,全局緩存(測試版)
HadoopMapReduce
b)可以限制運行的Map/Reduce做業的任務
c)爲很是的大Job(有許多輸出文件)加快了FileOutputCommitter。
2. HDFS
a) 支持文件截斷(file truncate);
b) 支持每一個存儲類型配額(Support for quotas per storage type);
c) 支持可變長度的塊文件
2. MAPREDUCE
a) 可以限制運行的Map/Reduce做業的任務
b) 爲很是的大Job(有許多輸出文件)加快了FileOutputCommitter。
2015年7月,Hadoop 2.7.1發佈。關鍵特性包括:
本版本屬於穩定版本,是自Hadoop 2.6.0以來又一個穩定版,同時也是Hadoop 2.7.x版本線的第一個穩定版本,也是 2.7版本線的維護版本,變化不大,主要是修復了一些比較嚴重的Bug(其中修復了131個Bugs和patches)
相關文章
相關標籤/搜索