HADOOP是由Doug Cutting创造的,他也是Lucene的创造者,Lucene是一个广泛
使用的文本搜索库。HADOOP由Apache Nutch项目发展而来,Nutch是一个开源的
网络搜索引擎,本身是Lucene项目的一部分。
HADOOP名称由来。HADOOP不是组合字,它是一个自创的名称。这个项目的创造
者Doug Cutting解释了这个名称是怎么来的:
这个名字是我的孩子给一个黄色的绒毛玩具象起的。简短,相对容易拼写和发音,无
意义,不会用在其它地方:这些是我的命名规则。孩子很擅长创造这种东西。Googol
也是一个孩子短语。
HADOOP生态圈的项目也用一些与它们功能无关的名称,经常 是一只象或其它动物(
“PIG",例如)。小的组件会给定更有描述性的(也更平凡)名称。这是一个好的原则,
因为你可以通过名称独到这个东西是干什么的。例如,namenode管理文件系统的命名空间。
从头建立一个搜索引擎是个很有难度的目标,因为它不仅要抓取并索引复杂的网站,
并且没有一个专门的操作团队也是一个挑战,因为有那么多不断变动的部门。它也是昂贵的:
Mike Cafarella 和Doug Cutting部署了一个系统支持百亿级页面索引,硬件花费大约500,000$,
每个月运行要花费30,000$。尽管如此,他们相信这是一个有价值的目标,因为它开始并从根本
上平民化了搜索引擎算法。
Nutch项目开始于2002年,一个网络抓取和搜索系统迅速出现。然而,它的创建者认识到他们
的架构不能适应数百亿规模的网页。帮助已经在手上了,那就是2003年公开的一个论文,它描述
了GOOGLE分布式文件系统的架构,叫GFS,它被用在GOOGLE这个产品中。GFS,或是其它
差不多的东西,可以解决由网络抓取和索引过程中产生的非常大量的文件的存储需求。尤其是,
GFS可以减少花在管理任务上的时间,如管理存储节点。2004年,Nutch的开发者写了一个开源
实现,Nutch Distributed Filesystem(NDFS)。
2004年,GOOGLE发表了一篇论文,把MapReduce介绍给了全世界。2005年前期,Nutch的开发
者有了一个可以工作的MapReduce实现,同年中期,Nutch的所有主要算法都移植到MapReduce和NDFS
上运行。
NDFS和Nutch实现的MapReduce适用于搜索领域,2006年2月,他们从Nutch项目移出,组成了Lucene的
一个单独子项目,叫HADOOP.大约在同一时间,Doug Cutting参加了Yahoo!,它提供了一个专门的团队和
资源来把HADOOP变成一个全网系统。这在2008年2月被证实,Yahoo!发表了一个声明,它的产品查询
索引是由10,000台HADOOP集群生成的。
2008年2月,HADOOP成为Apache的一级项目,肯定它的成功以及它的多样的,活跃的社区。同时,HADOOP
被Yahoo!之外的很多公司使用,例如:Last.fm,Facebook,New York Times等。
New York Times的一个广为人知的壮举是使用Amazon的EC2计算云把从报纸扫描的4TB文档转成
PDF放到网上。这个处理过程使用了100台机器用时少于24小时,如果没有Amzon的计算云和HADOOP的易于
使用的编程模型,这个任务也许就不可能发起。
2008年四月,HADOOP打破了排序一整块1T数据的世界记录,成为最快的系统。运行在910个节点的集群上,
HADOOP在209秒内排序了1TB的数据,打败了上一年的冠军,他们的记录是297秒。同年11月,GOOGLE声称
他们的MapReduce实现排序1TB数据用时68秒。然后,2009四月,Yahoo!的一个团队声称他们使用HADOOP
排序1TB数据用时62秒。
从那以后的趋势就是用更快的速度给更大的数据排序。2014年的竞赛中,一个Databricks(著名的大数据公司)
的团队成为Gray Sort(为纪念Jim Gray而命名)排序项目的获胜者。他们使用207个节点的Spark集群排序100TB
数据用时1406秒,速率达到4.27TB/m。(顺便一提,2015年的冠军是阿里哦,他们把这个纪录提高了3倍)。
现在,HADOOP在主要的企业中广泛使用。HADOOP的大数据存储和分析平台的角色已经被业界认可,这个事实
反应在许多产品使用或间接使用HADOOP.一个大的企业供应商已经支持商业HADOOP,包括EMC,IBM,Microsoft,以及
Oracle,还有一些专门做HADOOP的公司如Cloudera,Hortonworks,MapR等。