Apache Hadoop版本详解
由于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最全版本:,可直接导到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版本详解,希望对大家有所帮助