全文索引-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相关知识和便于查找,我兴许准备把里面一些比較重要的知识给总结分享下,敬请期待!

全文索引-lucene,solr,nutch,hadoop之nutch与hadoop的更多相关文章

  1. Nutch 快速入门(Nutch 2.2.1+Hbase+Solr)

    http://www.tuicool.com/articles/VfEFjm Nutch 2.x 与 Nutch 1.x 相比,剥离出了存储层,放到了gora中,可以使用多种数据库,例如HBase, ...

  2. Lucene&Solr框架之第一篇

    2.信息检索 信息检索是计算机世界中非常重要的一种功能.信息检索不仅仅是指从数据库检索数据,还包括从文件.网页.邮件.用户手输入的内容中检索数据.通过怎样的高效方式将用户想要的信息快速提取出来,是计算 ...

  3. Java分布式爬虫Nutch教程——导入Nutch工程,执行完整爬取

    Java分布式爬虫Nutch教程--导入Nutch工程,执行完整爬取 by briefcopy · Published 2016年4月25日 · Updated 2016年12月11日 在使用本教程之 ...

  4. Lucene/Solr搜索引擎开发笔记 - 第1章 Solr安装与部署(Jetty篇)

    一.为何开博客写<Lucene/Solr搜索引擎开发笔记> 本人毕业于2011年,2011-2014的三年时间里,在深圳前50强企业工作,从事工业控制领域的机器视觉方向,主要使用语言为C/ ...

  5. apache lucene solr 官网历史版本下载地址

    官网上一般只提供最新版本的下载,下面两个链接为所有历史版本的下载地址: lucene地址:archive.apache.org/dist/lucene/java/ solr地址:archive.apa ...

  6. Lucene/Solr搜索引擎开发笔记 - 第2章 Solr安装与部署(Tomcat篇)

    一.安装环境 图1-1 Tomcat和Solr的版本 我本机目前使用的Java版本为JDK 1.8,因为Solr 4.9要求Java版本为1.7+,请注意. 二.Solr部署到Tomcat流程 图1- ...

  7. Lucene/Solr开发经验

    1.开篇语2.概述3.渊源4.初识Solr5.Solr的安装6.Solr分词顺序7.Solr中文应用的一个实例8.Solr的检索运算符 [开篇语]按照惯例应该写一篇技术文章了,这次结合Lucene/S ...

  8. lucene&solr学习——solr学习(一)

    1.什么是solr solr是Apache下的一个顶级开源项目,采用Java开发,它是基于Lucene的全文检索服务器.Solr提供了比lucene风味丰富的查询语言,同时实现了可配置,可扩展,并对索 ...

  9. 全文检索(Lucene&Solr)

    全文检索(Lucene&Solr) 1)什么是全文检索?为什么需要全文检索? 结构化数据(mysql等)方便查询,而非结构化数据(如多篇文章)是难以查询到自己需要的,所以要使用全文检索. 全文 ...

随机推荐

  1. bzoj3262陌上花开 三维数点 cdq+树状数组

    大早上的做了一道三维数点一道五位数点,神清气爽! 先给一维排序,变成一个奇怪的动态的二维数点(相当于有一个扫描面扫过去,导致一系列的加点和询问) 然后cdq分治,再变回静态,考虑前半段对后半段的影响 ...

  2. Ext.js给form加背景图片

    { iconCls: 'zyl_icons_showdetail', tooltip: '查看', handler: function(gridView, rowIndex, colIndex) { ...

  3. chardet的下载及安装

    1.chardet下载地址 https://pypi.python.org/pypi/chardet/3.0.4#downloads 2.解压至安装路径 D:\Program Files (x86)\ ...

  4. Python学习-day10 进程

    学习完线程,学习进程 进程和线程的语法有很多一样的地方,不过在操作系统中的差别确实很大. 模块是threading 和 multiprocessing 多进程multiprocessing multi ...

  5. C语言变量长度在32位和64位处理器上的关系

    C语言变量长度在32位和64位处理器上的关系       理论上来讲 我觉得数据类型的字节数应该是由CPU决定的,但是实际上主要由编译器决定(占多少位由编译器在编译期间说了算).常用数据类型对应字节数 ...

  6. Leetcode 472.连接词

    连接词 给定一个不含重复单词的列表,编写一个程序,返回给定单词列表中所有的连接词. 连接词的定义为:一个字符串完全是由至少两个给定数组中的单词组成的. 示例: 输入: ["cat" ...

  7. TensorFlow学习笔记(6):TensorBoard之Embeddings

    本文基于TensorFlow官网的How-Tos写成. TensorBoard是TensorFlow自带的一个可视化工具,Embeddings是其中的一个功能,用于在二维或三维空间对高维数据进行探索. ...

  8. Wannafly模拟赛3

    喜欢想飞啊,毕竟这里的题目还都算挺好的中文题,不过做英文题久了还是感觉英文题更好理解一点 反蝴蝶效应 时间限制:1秒 空间限制:65536K 题目描述 一只南美洲亚马孙河流域热带雨林中的蝴蝶,偶尔扇动 ...

  9. restful的nginx配置方法

    location /{ root /webserver/www/a.tk.com; index index.html index.htm index.php; if ( $document_uri ~ ...

  10. IPython:一种交互式计算和开发环境

    一 键盘快捷键 - Ctrl-P    或上箭头键 后向搜索命令历史中以当前输入的文本开头的命令 - Ctrl-N   或下箭头键 前向搜索命令历史中以当前输入的文本开头的命令 - Ctrl-R    ...