分享

新手指导,学习hadoop,改选择哪个版本?

当我们决定是否采用某个软件用于开源环境时,通常需要考虑以下几个因素:
1)是否为开源软件,即是否免费。
2 是否有稳定版,这个一般软件官方网站会给出说明。
3 是否经实践验证,这个可通过检查是否有一些大点的公司已经在生产环境中使用知道。
4 是否有强大的社区支持,当出现一个问题时,能够通过社区、论坛等网络资源快速获取解决方法。
考虑到以上几个因素,我们分析一下开源软件Hadoop。对于Hadoop 2.0而言,目前尚不稳定,无法用于生产环境,因此,如果当前你正准备使用Hadoop,那么只能从Hadoop 1.0中选择一个版本,而目截至目前(20121223日),ApacheCloudera最新的稳定版分别是Hadoop 1.0.4CDH3U4,因此,你可以从中任选一个使用。
由于Hadoop版本混乱多变,因此,Hadoop的版本选择问题一直令很多初级用户苦恼。本文总结了Apache HadoopCloudera Hadoop的版本衍化过程,并给出了选择Hadoop版本的一些建议。
1. Cloudera Hadoop
1.1  CDH版本衍化
Apache当前的版本管理是比较混乱的,各种版本层出不穷,让很多初学者不知所措,相比之下,Cloudera公司的Hadoop版本管理的要很多。
我们知道,Hadoop遵从Apache开源协议,用户可以免费地任意使用和修改Hadoop,也正因此,市面上出现了很多Hadoop版本,其中比较出名的一是Cloudera公司的发行版,我们将该版本称为CDHCloudera Distribution Hadoop)。截至目前为止,CDH共有4个版本,其中,前两个已经不再更新,最近的两个,分别是CDH3(在Apache Hadoop 0.20.2版本基础上演化而来的)和CDH4Apache Hadoop 2.0.0版本基础上演化而来的),分别对应ApacheHadoop 1.0Hadoop 2.0,它们每隔一段时间便会更新一次。
5.PNG
Clouderapatch level划分小版本,比如patch level923.142表示在原生态Apache Hadoop 0.20.2基础上添加了1065patch(这些patch是各个公司或者个人贡献的,在Hadoop jira上均有记录),其中923个是最后一个beta版本添加的patch,而142个是稳定版发行后新添加的patch。由此可见,patch level越高,功能越完备且解决的bug越多。
Cloudera版本层次更加清晰,且它提供了适用于各种操作系统的Hadoop安装包,可直接使用apt-get或者yum命令进行安装,更加省事。
1.2 CDH版本下载
1 版本含义介绍:
2)各版本特性查看:
3)各版本下载:
注意,Hadoop压缩包在这两个链接中的最上层目录中,不在某个文件夹里,很多人进到链接还找不到安装包!
2. Apache Hadoop
2.1  Apache版本衍化
截至目前(20121223日),Apache Hadoop版本分为两代,我们将第一代Hadoop称为Hadoop 1.0,第二代Hadoop称为Hadoop 2.0。第一代Hadoop包含三个大版本,分别是0.20.x0.21.x0.22.x,其中,0.20.x最后演化成1.0.x,变成了稳定版,而0.21.x0.22.xNameNode HA等新的重大特性。第二代Hadoop包含两个版本,分别是0.23.x2.x,它们完全不同于Hadoop 1.0,是一套全新的架构,均包含HDFS FederationYARN两个系统,相比于0.23.x2.x增加了NameNode HAWire-compatibility两个重大特性。
经过上面的大体解释,大家可能明白了Hadoop以重大特性区分各个版本的,总结起来,用于区分Hadoop版本的特性有以下几个:
1Append     支持文件追加功能,如果想使用HBase,需要这个特性。
2RAID        在保证数据可靠的前提下,通过引入校验码较少数据块数目。详细链接:
https://issues.apache.org/jira/browse/HDFS/component/12313080
3Symlink    支持HDFS文件链接,具体可参考: https://issues.apache.org/jira/browse/HDFS-245
4Security    Hadoop安全,具体可参考:https://issues.apache.org/jira/browse/HADOOP-4487
5 NameNode HA  具体可参考:https://issues.apache.org/jira/browse/HDFS-1064
6 HDFS FederationYARN
6.PNG
需要注意的是,Hadoop 2.0主要由Yahoo独立出来的hortonworks公司主持开发。
2.2  Apache版本下载
1 各版本说明:http://hadoop.apache.org/releases.html
2 下载稳定版:找到一个镜像,下载stable文件夹下的版本。
3 Hadoop最全版本:http://svn.apache.org/repos/asf/hadoop/common/branches/,可直接导到eclipse中。
3. 如何选择Hadoop版本
当前Hadoop版本比较混乱,让很多用户不知所措。实际上,当前Hadoop只有两个版本:Hadoop 1.0Hadoop 2.0,其中,Hadoop 1.0由一个分布式文件系统HDFS和一个离线计算框架MapReduce组成,而Hadoop 2.0则包含一个支持NameNode横向扩展的HDFS,一个资源管理系统YARN和一个运行在YARN上的离线计算框架MapReduce。相比于Hadoop 1.0Hadoop 2.0功能更加强大,且具有更好的扩展性、性能,并支持多种计算框架。

已有(0)人评论

跳转到指定楼层
东财萌萌 发表于 2014-1-3 13:48:00
太厉害了!前排!
回复

使用道具 举报

KarmicKoala 发表于 2014-2-4 23:09:06
这篇文章已经是一年多以前的了,现在2.x已经经历过2.0,2.2两个稳定版本,并且马上就要发布2.4了,所以关于1.x和2.x的选择,我觉得更多应该看所持的学习书籍使用的是哪个版本,学习后,再补充学习另一个版本。

从学习角度,我更推荐 Apache 的版本,因为大多数直接解压缩就可以使用。CDH安装部署很方便,目录也很规矩,更适合生产环境部署。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条