原文:http://blog.csdn.net/chaofanwei/article/details/39476535

全文索引-lucene,solr,nutch,hadoop之lucene

全文索引-lucene,solr,nutch,hadoop之solr

我在去年的时候,就想把lucene,solr,nutch和hadoop这几个东东给详细的介绍下,但由于时间的关系,我还是只写了两篇文章,分别介绍了一下lucene和solr,后来就没有在写了,但我心里还是期待的,虽然到现在我没有真正搞过nutch和hadoop实战项目,但公司马上就要做hadoop大数据的监控了,我一直都说,要做一个有准备的人,因此我从去年到现在从未停止过对hadoop相关技术的学习、思考、实战。

在去年上半年的时候,我还在我的上一家公司,有一天老总说让我研究一下搜索引擎方面的知识(公司有seo方面的业务),于是我就从网上搜寻,最后我无意间发现了一个开源的搜索引擎的apache旗下的项目-nutch,于是乎,我就沉醉于其中,从网上找资料,搭建环境(只能在linux系统上),并最终能够运行了。我从中浅浅的了解了一下搜索引擎方面的知识,但是让我最想不到的竟然是nutch竟然是hadoop项目出现的原因、导火线、父项目。本来我想单独再写两篇分别关于nutch和hadoop的项目,但真实需要花费很多的个人时间,而且nutch环境并不好搭建,而且毕竟我的重点在于hadoop,因此,我在本文还是先说说nutch和hadoop的背景以及介绍吧。

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

1、Hadoop背景

Nutch项目始于2002年,一个可以运行的网页爬取工具和搜索引擎系统很快“浮出水面”。但后来,开发者认为这一架构可扩展度不够,不能解决数十亿网页的搜索问题。

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。大约在同一时间,Doug Cutting加入雅虎,雅虎为此组织了一个专门的团队和资源。
     
       2008年1月,Hadoop已成为Apache的顶级项目,证明了它的成功、多样化、活越性。

2、Apache Hadoop和Hadoop生态圈

尽管Hadoop因MapReduce和分布式文件系统HDFS而出名,但Hadoop这个名字也用于一组相关项目的统称,如下:

2.1、Common

一组分布式文件系统和通用I/O组件与接口(序列化、java rpc和持久数据结构)

2.2、Arvo

一种支持高效、跨语言的RPC以及永久存储数据的序列化系统。

2.3、MapReduce

分布式数据处理模型和执行环境,运行于大型商用集群。

2.4、HDFS

分布式文件系统,运行于大型商用集群。

2.5、Pig

一种数据流语言和运行环境,用以检索非常大的数据集。Pig运行在MapReduce和HDFS集群上。

2.6、Hive

一个分布式、按列存储的数据仓库。Hive管理HDFS中存储的数据,并提供基于SQL的查询语言(由运行时引擎翻译成MapReduce作业)用以查询数据。

2.7、HBase

一个分布式、按列存储数据库。HBase使用HDFS作为底层存储,同时支持MapReduce的批量式计算和点查询。

2.8、ZooKepper

一个分布式、可用性高的协调服务。ZooKepper提供分布式锁之类的基本服务用于构建分布式应用。

2.9、Sqoop

在数据库和HDFS之间高效传输数据的工具。

3、后续

虽然我去年就接触到hadoop,并进行了一些列的学习(网上视频和资料),但还是没有学好,实际用起来。刚好今年公司准备设计开发大数据方面的监控,公司就给我们这些开发人员买了几本Hadoop方面的书籍,但我草草的看了一下,最后还是自己买了一本《Hadoop权威指南》,觉得还是这本书写的比较好,我也看完了一遍,为了总结Hadoop相关知识和便于查找,我后续准备把里面一些比较重要的知识给总结分享下,敬请期待!

全文索引之nutch与hadoop(转)的更多相关文章

  1. 全文索引-lucene,solr,nutch,hadoop之nutch与hadoop

    全文索引-lucene.solr.nutch,hadoop之lucene 全文索引-lucene.solr,nutch,hadoop之solr 我在去年的时候,就想把lucene,solr.nutch ...

  2. 关注云端搜索技术:elasticsearch,nutch,hadoop,nosql,mongodb,hbase,cassandra 及Hadoop优化

    http://www.searchtech.pro/ Hadoop添加或调整的参数: 一.hadoop-env.sh1.hadoop的heapsize的设置,默认1000 # The maximum ...

  3. 【转】Nutch的Hadoop方式爬取效率优化

    原文地址:http://my.oschina.net/junfrank/blog/290404

  4. solr ,hadoop ,lucene,nutch 的关系和区别

    apache lucene是apache下一个著名的开源搜索引擎内核,基于Java技术,处理索引,拼写检查,点击高亮和其他分析,分词等技术. nutch和solr原来都是lucene下的子项目.但后来 ...

  5. Nutch+Hadoop集群搭建

    转载自:http://www.open-open.com/lib/view/open1328670771405.html 1.Apache Nutch    Apache Nutch是一个用于网络搜索 ...

  6. [转载] 把Nutch爬虫部署到Hadoop集群上

    http://f.dataguru.cn/thread-240156-1-1.html 软件版本:Nutch 1.7, Hadoop 1.2.1, CentOS 6.5, JDK 1.7 前面的3篇文 ...

  7. 把Nutch爬虫部署到Hadoop集群上

    原文地址:http://cn.soulmachine.me/blog/20140204/ 把Nutch爬虫部署到Hadoop集群上 Feb 4th, 2014 | Comments 软件版本:Nutc ...

  8. Nutch+Hadoop集群搭建 分类: H3_NUTCH 2015-01-18 10:55 362人阅读 评论(0) 收藏

    转载自:http://www.open-open.com/lib/view/open1328670771405.html 1.Apache Nutch    Apache Nutch是一个用于网络搜索 ...

  9. Apache Nutch v2.3 发布,Java实现的网络爬虫

    http://www.oschina.net/news/59287/apache-nutch-2-3 Apache Nutch v2.3已经发布了,建议所有使用2.X系列的用户和开发人员升级到这个版本 ...

随机推荐

  1. 《OD学hadoop》Linux基础

    一.Linux基本环境 1. Linux常见版本及VMware虚拟机安装Linux系统 2. 虚拟机网络配置(IP地址.主机名.防火墙) 3. 文件基本命令操作 4. 四大远程连接工具使用 二.Lin ...

  2. 一、Oracle分析函数入门

    分析函数是什么?分析函数是Oracle专门用于解决复杂报表统计需求的功能强大的函数,它可以在数据中进行分组然后计算基于组的某种统计值,并且每一组的每一行都可以返回一个统计值. 分析函数和聚合函数的不同 ...

  3. ubuntu 搭建Erlang开发环境

    首先,打好库: sudo apt-get install build-essential sudo apt-get install libncurses5-dev sudo apt-get insta ...

  4. Qt之QHeaderView自定义排序(终极版)

    简述 本节主要解决自定义排序衍生的第二个问题-将整形显示为字符串,而排序依然正常. 下面我们介绍三种方案: 委托绘制 用户数据 辅助列 很多人也许会有疑虑,平时都用delegate来绘制各种按钮.图标 ...

  5. POJ 1037 (计数 + DP) 一个美妙的栅栏

    这道题总算勉勉强强看懂了,DP和计数都很不好想 DP部分: 称i根木棒的合法方案集合为S(i),第二根木棒比第一根长的方案称作UP方案,反之叫做DOWN方案 C[i][k][DOWN] 是S(i)中以 ...

  6. 漫游Kafka设计篇之消息传输的事务定义

    之前讨论了consumer和producer是怎么工作的,现在来讨论一下数据传输方面.数据传输的事务定义通常有以下三种级别: 最多一次: 消息不会被重复发送,最多被传输一次,但也有可能一次不传输. 最 ...

  7. Warning: Using innodb_additional_mem_pool_size is DEPRECATED

    Warning: Using innodb_additional_mem_pool_size is DEPRECATED. This option may be removed in future r ...

  8. gcc g++ 参数介绍

    C和C++ 编译器是集成的.他们都要用四个步骤中的一个或多个处理输入文件: 预处理 (preprocessing),编译(compilation),汇编(assembly)和连接(linking).源 ...

  9. How to: Modify a Project System So That Projects Load in Multiple Versions of Visual Studio

    http://msdn.microsoft.com/en-us/library/hh266706(v=VS.110).aspx

  10. (C#基础) byte[] 之初始化, 赋值,转换。

    byte[] 之初始化赋值 用for loop 赋值当然是最基本的方法,不过在C#里面还有其他的便捷方法. 1. 创建一个长度为10的byte数组,并且其中每个byte的值为0. byte[] myB ...