Hadoop的前世今生
说到hadoop前世今生的话,不得不说google这家公司。大家都知道google这家公司一开始是做搜索引擎起家的,而这个搜索引擎是个什么东西呢?搜索引擎其实就做了两件事情。一是网络爬虫。通过网络爬虫,爬取各个网页的数据,然后将爬去的数据找个地方存放。二是索引服务器。通过索引服务器进行分析和计算各个网页数据,生成索引文件。索引服务器通过索引文件进行检索。搜索引擎 = 网络爬虫 + 索引服务器(生成索引 + 检索)
Apache Lucene:开源的高性能全文检索工具包
由于上文所说的搜索引擎是商业版的,Doung Cutting 这个程序员认为,搜索引擎就是分析各个网页数据,分析完成之后生成索引文件,而这里的索引文件就是各个关键字 (key),进而通过关键字来查询网页,所以这位大神就自己写了一个工具包:Lucene
Lucene:所干的事情就是生成索引文件,通过索引文件查询各个网页数据,和索引服务器功能类似,区别就是 Lucene 是一个功能比较单一的jar包。
Apache Nutch:开源的WEB搜索引擎
Doung Cutting 对自己做的 Lucene 不满意,他就打算自己去写一个科研界的搜索引擎,Nutch项目就诞生了
Nutch:所干的事情就是搜索引擎的功能,和搜索引擎不同的点在于在索引服务器部分用 Lucene 进行了封装
这也产生了以下问题
分布式存储
通过网络爬虫爬取的海量数据需要存储,而单一服务器显然不太现实,所以到底存在哪里?
分布式计算
试想一下,索引服务器查询海量网页数据,中间的算力单一服务器显然也是做不到的,所以怎样提高算力和查询效率?
Google 两大大论文
GFS
Google在2002年开源了GFS论文,Doung Cutting参考该论文思想,写出了HDFS模块,进而解决了分布式存储的问题
MapReduce
Google在2004年开源了MapReduce论文,Doung Cutting参考该论文思想,写出了MapReduce模块,进而解决了分布式计算问题(当时HDFS和MapReduce两个通用模块已经内置于Nutch中)。
Apache Hadoop
在Nutch 0.9 版本后,Doung Cutting将HDFS和MapReduce两个模块拆分出来,形成了一个新的大数据处理框架:Hadoop
至此,大数据处理框架:Hadoop 诞生了!
如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!
赞3
添加新评论1 条评论
2019-05-30 08:40