Apache Hadoop 版本

由於Hadoop版本混亂多變,因此,Hadoop的版本選擇問題一直令很多初級用戶苦惱。本文總結了Apache Hadoop和Cloudera Hadoop的版本衍化過程,並給出了選擇Hadoop版本的一些建議。

1. Apache Hadoop

1.1 Apache版本衍化

截至目前(2012年12月23日),Apache Hadoop版本分爲兩代,我們將第一代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增加了NameNode HA和Wire-compatibility兩個重大特性。

經過上面的大體解釋,大家可能明白了Hadoop以重大特性區分各個版本的,總結起來,用於區分Hadoop版本的特性有以下幾個:

(1)Append 支持文件追加功能,如果想使用HBase,需要這個特性。

(2)RAID 在保證數據可靠的前提下,通過引入校驗碼較少數據塊數目。詳細鏈接:

https://issues.apache.org/jira/browse/HDFS/component/12313080

(3)Symlink 支持HDFS文件鏈接,具體可參考: https://issues.apache.org/jira/browse/HDFS-245

(4)Security Hadoop安全,具體可參考:https://issues.apache.org/jira/browse/HADOOP-4487

(5) NameNode HA 具體可參考:https://issues.apache.org/jira/browse/HDFS-1064

(6) HDFS Federation和YARN

需要注意的是,Hadoop 2.0主要由Yahoo獨立出來的hortonworks公司主持開發。

1.2 Apache版本下載

(1) 各版本說明:http://hadoop.apache.org/releases.html

(2) 下載穩定版:找到一個鏡像,下載stable文件夾下的版本。

(3) Hadoop最全版本:http://svn.apache.org/repos/asf/hadoop/common/branches/,可直接導到eclipse中。

2. Cloudera Hadoop

2.1 CDH版本衍化

Apache當前的版本管理是比較混亂的,各種版本層出不窮,讓很多初學者不知所措,相比之下,Cloudera公司的Hadoop版本管理的要很多。

我們知道,Hadoop遵從Apache開源協議,用戶可以免費地任意使用和修改Hadoop,也正因此,市面上出現了很多Hadoop版本,其中比較出名的一是Cloudera公司的發行版,我們將該版本稱爲CDH(Cloudera Distribution Hadoop)。截至目前爲止,CDH共有4個版本,其中,前兩個已經不再更新,最近的兩個,分別是CDH3(在Apache Hadoop 0.20.2版本基礎上演化而來的)和CDH4在Apache Hadoop 2.0.0版本基礎上演化而來的),分別對應Apache的Hadoop 1.0和Hadoop 2.0,它們每隔一段時間便會更新一次。

Cloudera以patch level劃分小版本,比如patch level爲923.142表示在原生態Apache Hadoop 0.20.2基礎上添加了1065個patch(這些patch是各個公司或者個人貢獻的,在Hadoop jira上均有記錄),其中923個是最後一個beta版本添加的patch,而142個是穩定版發行後新添加的patch。由此可見,patch level越高,功能越完備且解決的bug越多。

Cloudera版本層次更加清晰,且它提供了適用於各種操作系統的Hadoop安裝包,可直接使用apt-get或者yum命令進行安裝,更加省事。

2.2 CDH版本下載

(1) 版本含義介紹:

https://ccp.cloudera.com/display/DOC/CDH+Version+and+Packaging+Information

(2)各版本特性查看:

https://ccp.cloudera.com/display/DOC/CDH+Packaging+Information+for+Previous+Releases

(3)各版本下載:

CDH3:http://archive.cloudera.com/cdh/3/

CDH4:http://archive.cloudera.com/cdh4/cdh/4/

注意,Hadoop壓縮包在這兩個鏈接中的最上層目錄中,不在某個文件夾裏,很多人進到鏈接還找不到安裝包!

3. 如何選擇Hadoop版本

當前Hadoop版本比較混亂,讓很多用戶不知所措。實際上,當前Hadoop只有兩個版本:Hadoop 1.0和Hadoop 2.0,其中,Hadoop 1.0由一個分佈式文件系統HDFS和一個離線計算框架MapReduce組成,而Hadoop 2.0則包含一個支持NameNode橫向擴展的HDFS,一個資源管理系統YARN和一個運行在YARN上的離線計算框架MapReduce。相比於Hadoop 1.0,Hadoop 2.0功能更加強大,且具有更好的擴展性、性能,並支持多種計算框架。

當我們決定是否採用某個軟件用於開源環境時,通常需要考慮以下幾個因素:

(1)是否爲開源軟件,即是否免費。

(2) 是否有穩定版,這個一般軟件官方網站會給出說明。

(3) 是否經實踐驗證,這個可通過檢查是否有一些大點的公司已經在生產環境中使用知道。

(4) 是否有強大的社區支持,當出現一個問題時,能夠通過社區、論壇等網絡資源快速獲取解決方法。

考慮到以上幾個因素,我們分析一下開源軟件Hadoop。對於Hadoop 2.0而言,目前尚不穩定,無法用於生產環境,因此,如果當前你正準備使用Hadoop,那麼只能從Hadoop 1.0中選擇一個版本,而目截至目前(2012年12月23日),Apache和Cloudera最新的穩定版分別是Hadoop 1.0.4和CDH3U4,因此,你可以從中任選一個使用。

 

轉自:http://dongxicheng.org/mapreduce-nextgen/how-to-select-hadoop-versions/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章