由于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命令進行安裝,更加省事。
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只有兩個版本:hadoop1.0和hadoop 2.0,其中,hadoop1.0由一個分布式文件系統hdfs和一個離線計算框架mapreduce組成,而hadoop2.0則包含一個支持namenode橫向擴展的hdfs,一個資源管理系統yarn和一個運行在yarn上的離線計算框架mapreduce。相比于hadoop1.0,hadoop 2.0功能更加強大,且具有更好的擴展性、性能,并支持多種計算框架。
當我們決定是否采用某個軟件用于開源環境時,通常需要考慮以下幾個因素:
(1)是否為開源軟件,即是否免費。
(2)是否有穩定版,這個一般軟件官方網站會給出說明。
(3)是否經實踐驗證,這個可通過檢查是否有一些大點的公司已經在生產環境中使用知道。
(4)是否有強大的社區支持,當出現一個問題時,能夠通過社區、論壇等網絡資源快速獲取解決方法。
考慮到以上幾個因素,我們分析一下開源軟件hadoop。對于hadoop2.0而言,目前尚不穩定,無法用于生產環境,因此,如果當前你正準備使用hadoop,那么只能從hadoop1.0中選擇一個版本,而目截至目前(2012年12月23日),apache和cloudera最新的穩定版分別是hadoop1.0.4和cdh3u4,因此,你可以從中任選一個使用。
總結
以上所述是小編給大家介紹的apache hadoop版本詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!
原文鏈接:http://blog.sina.com.cn/s/blog_9c6852670102wx01.html