由于hadoop版本混亂多變,因此,hadoop的版本選擇問題一直令很多初級用戶苦惱。本文總結(jié)了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,變成了穩(wěn)定版,而0.21.x和0.22.x則namenodeha等新的重大特性。第二代hadoop包含兩個版本,分別是0.23.x和2.x,它們完全不同于hadoop1.0,是一套全新的架構(gòu),均包含hdfs federation和yarn兩個系統(tǒng),相比于0.23.x,2.x增加了namenodeha和wire-compatibility兩個重大特性。
經(jīng)過上面的大體解釋,大家可能明白了hadoop以重大特性區(qū)分各個版本的,總結(jié)起來,用于區(qū)分hadoop版本的特性有以下幾個:
(1)append支持文件追加功能,如果想使用hbase,需要這個特性。
(2)raid在保證數(shù)據(jù)可靠的前提下,通過引入校驗碼較少數(shù)據(jù)塊數(shù)目。詳細(xì)鏈接:
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公司主持開發(fā)。
apache版本下載
(1)各版本說明:http://hadoop.apache.org/releases.html。
(2)下載穩(wěn)定版:找到一個鏡像,下載stable文件夾下的版本。
(3)hadoop最全版本:http://svn.apache.org/repos/asf/hadoop/common/branches/,可直接導(dǎo)到eclipse中。
2.cloudera hadoopcdh版本衍化
apache當(dāng)前的版本管理是比較混亂的,各種版本層出不窮,讓很多初學(xué)者不知所措,相比之下,cloudera公司的hadoop版本管理的要很多。
我們知道,hadoop遵從apache開源協(xié)議,用戶可以免費地任意使用和修改hadoop,也正因此,市面上出現(xiàn)了很多hadoop版本,其中比較出名的一是cloudera公司的發(fā)行版,我們將該版本稱為cdh(clouderadistributionhadoop)。截至目前為止,cdh共有4個版本,其中,前兩個已經(jīng)不再更新,最近的兩個,分別是cdh3(在apache hadoop0.20.2版本基礎(chǔ)上演化而來的)和cdh4在apache hadoop2.0.0版本基礎(chǔ)上演化而來的),分別對應(yīng)apache的hadoop 1.0和hadoop2.0,它們每隔一段時間便會更新一次。
cloudera以patch level劃分小版本,比如patch level為923.142表示在原生態(tài)apache hadoop0.20.2基礎(chǔ)上添加了1065個patch(這些patch是各個公司或者個人貢獻的,在hadoopjira上均有記錄),其中923個是最后一個beta版本添加的patch,而142個是穩(wěn)定版發(fā)行后新添加的patch。由此可見,patchlevel越高,功能越完備且解決的bug越多。
cloudera版本層次更加清晰,且它提供了適用于各種操作系統(tǒng)的hadoop安裝包,可直接使用apt-get或者yum命令進行安裝,更加省事。
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版本
當(dāng)前hadoop版本比較混亂,讓很多用戶不知所措。實際上,當(dāng)前hadoop只有兩個版本:hadoop1.0和hadoop 2.0,其中,hadoop1.0由一個分布式文件系統(tǒng)hdfs和一個離線計算框架mapreduce組成,而hadoop2.0則包含一個支持namenode橫向擴展的hdfs,一個資源管理系統(tǒng)yarn和一個運行在yarn上的離線計算框架mapreduce。相比于hadoop1.0,hadoop 2.0功能更加強大,且具有更好的擴展性、性能,并支持多種計算框架。
當(dāng)我們決定是否采用某個軟件用于開源環(huán)境時,通常需要考慮以下幾個因素:
(1)是否為開源軟件,即是否免費。
(2)是否有穩(wěn)定版,這個一般軟件官方網(wǎng)站會給出說明。
(3)是否經(jīng)實踐驗證,這個可通過檢查是否有一些大點的公司已經(jīng)在生產(chǎn)環(huán)境中使用知道。
(4)是否有強大的社區(qū)支持,當(dāng)出現(xiàn)一個問題時,能夠通過社區(qū)、論壇等網(wǎng)絡(luò)資源快速獲取解決方法。
考慮到以上幾個因素,我們分析一下開源軟件hadoop。對于hadoop2.0而言,目前尚不穩(wěn)定,無法用于生產(chǎn)環(huán)境,因此,如果當(dāng)前你正準(zhǔn)備使用hadoop,那么只能從hadoop1.0中選擇一個版本,而目截至目前(2012年12月23日),apache和cloudera最新的穩(wěn)定版分別是hadoop1.0.4和cdh3u4,因此,你可以從中任選一個使用。
總結(jié)
以上所述是小編給大家介紹的apache hadoop版本詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對服務(wù)器之家網(wǎng)站的支持!
原文鏈接:http://blog.sina.com.cn/s/blog_9c6852670102wx01.html