由于Hadoop还处于初期高速发展的节点,加上它又是开源的,因此它的版本一直很混乱,Hadoop一些主要的特性有:
- Append:支持文件追加功能,如果想使用HBase,需要这个特性。
- RAID : 在保证数据可靠的前提下,通过引入校验码减少数据块数目。详细链接:https://issues.apache.org/jira/browse/HDFS/component/12313080
- Symlink :支持HDFS文件链接,具体可参考:https://issues.apache.org/jira/browse/HDFS-245
- Security : Hadoop安全性,具体可参考:https://issues.apache.org/jira/browse/HADOOP-4487
- NameNode HA :具体可参考:https://issues.apache.org/jira/browse/HDFS-1064
- HDFS Federation和YARN
下面是Hadoop的版本演进:
Apache版本下载:
- 各版本说明:http://hadoop.apache.org/releases.html
- 下载稳定版:找到一个镜像,下载stable文件夹下的版本
- Hadoop最全版本:http://svn.apache.org/repos/asf/hadoop/common/branches/,可直接导到eclipse中
Cloudera发布版:
从上面我们可以知道,Apache当前的版本管理是比较混乱的,各种版本层出不穷,让很多初学者不知所措,相比之下,Cloudera公司的Hadoop版本管理的要很多。
我们知道,Hadoop遵从Apache开源协议,用户可以免费地任意使用和修改Hadoop,也正因此,市面上出现了很多Hadoop版本,其中比较出名的一是Cloudera公司的发行版,我们将该版本称为CDH(Cloudera Distribution Hadoop)。截至目前为止,CDH共有4个版本,其中,前两个已经不再更新,最近的两个,分别是CDH3(在Apache Hadoop 0.20.2版本基础上演化而来的)和CDH4在Apache Hadoop 2.0.0版本基础上演化而来的),分别对应Apache的Hadoop 1.0和Hadoop 2.0,它们每隔一段时间便会更新一次。
Cloudera以patch level划分小版本,比如patch level为923.142表示在原生态Apache Hadoop 0.20.2基础上添加了1065个patch(这些patch是各个公司或者个人贡献的,在Hadoop jira上均有记录),其中923个是最后一个beta版本添加的patch,而142个是稳定版发行后新添加的patch。由此可见,patch level越高,功能越完备且解决的bug越多。
Cloudera版本层次更加清晰,且它提供了适用于各种操作系统的Hadoop安装包,可直接使用apt-get或者yum命令进行安装,更加省事。