2.0 Hadoop简介

2016-03-04 01:39:24 5,475 0

hadoop-logo.jpg

一、Hadoop起源

Hadoop是Lucene的创始人Doug Cutting创建的,Lucene是一个广泛使用的全文检索系统。Hadoop起源于Nutch,一个开源的网络搜索引擎,它本身也是Lucene项目的一部分。

Nutch项目始于2002年,一个可以运行的网页爬取工具和搜索引擎系统很快“浮出水面”。

作为一个搜索引擎系统,最容易想到的要处理的问题包括两个方面:

1、数据的存储:互联网的网页实在是太多了,用数以百亿计,恐怕都不能够说明问题。假设互联网上有1百亿个网页,一个网页大小是100KB,那么我们需要一百万G的硬盘才能将这些数据存储下来。

,再牛B的计算机恐怕也无法做到!

而且我们还要考虑数据备份的问题,否则硬盘坏了,数据就没有了。

2、高效的检索:用户在搜索的时候,我们需要快速的根据搜索关键字从这么内容中检索出相应的内容,而且按照相关度排序。这也是一个极大的问题。

事实上,Doug Cutting正是遇到了这样的问题。

2003年谷歌公司发表了一篇关于谷歌分布式文件系统的文章,简称GFS。GFS或类似的架构,可以解决他们在网页爬取和索引过程中产生的超大文件的存储需求。特别关键的是,GFS能够节省系统管理所花的大量时间。  

     在2004年,他们开始着手实现一个开源的实现,即Nutch的分布式文件系统NDFS。

2004年,谷歌发表论文向全世界介绍他们的MapReduce系统。

     2005年初,Nutch的开发人员在Nutch上实现了一个MapReduce系统,到年中,Nutch的所有主要算法均完成移植,用MapReduce和NDFS来运行。

Nutch的NDFS和MapReduce实现不止适用于搜索领域。在2006年2月,开发人员将NDFS和MapReduce移出Nutch形成Lucene的一个子项目,称为Hadoop。NDFS也更名为HDFS。

补充:Hadoop名称由来

Doug Cutting的解释:

"这个名字是我的孩子给其玩具小象起的。我们的命名标准是简短、容易发音和拼写,没有太多的含义,并且不会用于别处。小孩子是这方面的专家。Google就是小孩子起的名字"

二、Hadoop版本演变

截至目前,Apache Hadoop版本分为两代,我们将第一代Hadoop称为Hadoop 1.0,第二代Hadoop称为Hadoop 2.0。第一代Hadoop包含三个大版本,分别是0.20.x,0.21.x和0.22.x,其中,0.20.x最后演化成1.0.x,变成了稳定版, 而0.21.x和0.22.x则NameNode HA等新的重大特性。第二代Hadoop包含两个版本,分别是0.23.x和2.x。

  • 0.20.x版本最后演化成了现在的1.0.x版本

  • 0.23.x版本最后演化成了现在的2.x版本

  • hadoop 1.0 指的是1.x(0.20.x),0.21,0.22

  • hadoop 2.0 指的是2.x,0.23.x

Hadoop完全不同于Hadoop 1.0,是一套全新的架构,均包含HDFS Federation和YARN两个系统,相比于0.23.x,2.x增加了NameNode HA和Wire-compatibility两个重大特性。