我在去年的时候,就想把lucene,solr。nutch和hadoop这几个东东给具体的介绍下,但由于时间的关系。我仍是仅仅写了两篇文章,分别介绍了一下lucene和solr,后来就没有在写了,但我内心仍是期待的,尽管到现在我没有真正搞过nutch和hadoop实战项目,但公司当即就要作hadoop大数据的监控了。我一直都说,要作一个有准备的人,所以我从去年到现在从未中止过对hadoop相关技术的学习、思考、实战。
在去年上半年的时候。我还在个人上一家公司。有一天老总说让我研究一下搜索引擎方面的知识(公司有seo方面的业务),因而我就从网上搜寻,最后我无心间发现了一个开源的搜索引擎的apache旗下的项目-nutch,因而乎,我就沉醉于当中。从网上找资料。搭建好开发环境(仅仅能在linux系统上)。并终于能够执行了。我从中浅浅的了解了一下搜索引擎方面的知识。但是让我最想不到的竟然是nutch竟然是hadoop项目出现的缘由、导火线、父项目。原本我想单独再写两篇分别关于nutch和hadoop的项目。但真实需要花费很是多的我的时间。而且nutch环境并很差搭建,而且毕竟个人重点在于hadoop,所以,我在本文仍是先说说nutch和hadoop的背景以及介绍吧。java
Hadoop是Apache Lucene创始人Doug Cutting建立的,Lucene是一个普遍使用的文本搜索系统。Hadoop起源于Nutch,一个开源的网络搜索引擎,它自己也是Lucene项目的一部分。linux
Nutch项目始于2002年,一个能够执行的网页爬取工具和搜索引擎系统很是快“浮出水面”。但后来,开发者以为这一架构可扩展度不够。不能解决数十亿网页的搜索问题。算法
2003年谷歌公司发表了一篇关于谷歌分布式文件系统的文章,简称GFS。数据库
GFS或类似的架构,能够解决他们在网页爬取和索引过程当中产生的超大文件的存储需求。特别关键的是,GFS能够节省系统管理所花的大量时间。apache
在2004年,他们開始着手实现一个开源的实现。即Nutch的分布式文件系统NDFS。网络
2004年,谷歌发表论文向全世界介绍他们的MapReduce系统。
数据结构
2005年初,Nutch的开发者在Nutch上实现了一个MapReduce系统,到年中。Nutch的所有主要算法均完毕移植,用MapReduce和NDFS来执行。架构
Nutch的NDFS和MapReduce实现不知适用于搜索领域。在2006年2月,开发者将NDFS和MapReduce移出Nutch造成Lucene的一个子项目,称为Hadoop。分布式
大约在同一时间,Doug Cutting增长雅虎,雅虎为此组织了一个专门的团队和资源。工具
2008年1月,Hadoop已成为Apache的顶级项目,证实了它的成功、多样化、活越性。
尽管Hadoop因MapReduce和分布式文件系统HDFS而出名,但Hadoop这个名字也用于一组相关项目的统称。例如如下:
一组分布式文件系统和通用I/O组件与接口(序列化、java rpc和持久数据结构)
一种支持高效、跨语言的RPC以及永久存储数据的序列化系统。
分布式数据处理模型和执行环境。执行于大型商用集群。
分布式文件系统,执行于大型商用集群。
一种数据流语言和执行环境。用以检索很是大的数据集。Pig执行在MapReduce和HDFS集群上。
一个分布式、按列存储的数据仓库。Hive管理HDFS中存储的数据。并提供基于SQL的查询语言(由执行时引擎翻译成MapReduce做业)用以查询数据。
一个分布式、按列存储数据库。
HBase使用HDFS做为底层存储,同一时候支持MapReduce的批量式计算和点查询。
一个分布式、可用性高的协调服务。ZooKepper提供分布式锁之类的基本服务用于构建分布式应用。
在数据库和HDFS之间高效数据传输的工具。
尽管我去年就接触到hadoop,并进行了一些列的学习(网上视频和资料),但仍是没有学好,实际用起来。恰好今年公司准备设计开发大数据方面的监控。公司就给咱们这些开发者买了几本Hadoop方面的书籍,但我草草的看了一下。最后仍是本身买了一本《Hadoop权威指南》。以为仍是这本书写的比較好,我也看完了一遍,为了总结Hadoop相关知识和便于查找,我兴许准备把里面一些比較重要的知识给总结分享下,敬请期待!