由于Hadoop版本混亂多變,因此,Hadoop的版本選擇問題一直令很多初級用戶苦惱。本文總結了ApacheHadoop和Cloudera Hadoop的版本衍化過程,并給出了選擇Hadoop版本的一些建議。
1.Apache HadoopApache版本衍化
截至目前(2012年12月23日),ApacheHadoop版本分為兩代,我們將第一代Hadoop稱為Hadoop 1.0,第二代Hadoop稱為Hadoop2.0。第一代Hadoop包含三個大版本,分別是0.20.x,0.21.x和0.22.x,其中,0.20.x最后演化成1.0.x,變成了穩定版,而0.21.x和0.22.x則NameNodeHA等新的重大特性。第二代Hadoop包含兩個版本,分別是0.23.x和2.x,它們完全不同于Hadoop1.0,是一套全新的架構,均包含HDFS Federation和YARN兩個系統,相比于0.23.x,2.x增加了NameNodeHA和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)SecurityHadoop安全,具體可參考:https://issues.apache.org/jira/browse/HADOOP-4487
(5)NameNodeHA具體可參考:https://issues.apache.org/jira/browse/HDFS-1064
(6)HDFSFederation和YARN
需要注意的是,Hadoop2.0主要由Yahoo獨立出來的hortonworks公司主持開發。
Apache版本下載
(1)各版本說明:http://hadoop.apache.org/releases.html。
(2)下載穩定版:找到一個鏡像,下載stable文件夾下的版本。
(3)Hadoop最全版本:http://svn.apache.org/repos/asf/hadoop/common/branches/,可直接導到eclipse中。
2.Cloudera HadoopCDH版本衍化
Apache當前的版本管理是比較混亂的,各種版本層出不窮,讓很多初學者不知所措,相比之下,Cloudera公司的Hadoop版本管理的要很多。
我們知道,Hadoop遵從Apache開源協議,用戶可以免費地任意使用和修改Hadoop,也正因此,市面上出現了很多Hadoop版本,其中比較出名的一是Cloudera公司的發行版,我們將該版本稱為CDH(ClouderaDistributionHadoop)。截至目前為止,CDH共有4個版本,其中,前兩個已經不再更新,最近的兩個,分別是CDH3(在Apache Hadoop0.20.2版本基礎上演化而來的)和CDH4在Apache Hadoop2.0.0版本基礎上演化而來的),分別對應Apache的Hadoop 1.0和Hadoop2.0,它們每隔一段時間便會更新一次。
Cloudera以patch level劃分小版本,比如patch level為923.142表示在原生態Apache Hadoop0.20.2基礎上添加了1065個patch(這些patch是各個公司或者個人貢獻的,在Hadoopjira上均有記錄),其中923個是最后一個beta版本添加的patch,而142個是穩定版發行后新添加的patch。由此可見,patchlevel越高,功能越完備且解決的bug越多。
Cloudera版本層次更加清晰,且它提供了適用于各種操作系統的Hadoop安裝包,可直接使用apt-get或者yum命令進行安裝,更加省事。
新聞熱點
疑難解答