`

nutch 分布式索引(爬虫)

 
阅读更多

其实,全网抓取比intranet区别再于,

  前者提供了较为多的urls入口,

  没有使用crawl-urlfilter.txt 中并没有限制哪些url ,(如果没有使用crawl命令)

  并通过逐步处理的方式得以可按的局面;

 

在1.3,还有此区别,

  如默认的fetcher.parse是false,使得每次fetch后必须有一个parse step,刚开始老是看不懂为什么tutorial中这样做。。

  其次是,此版本不再有crawl-urlfiter.txt,而是用regex-urlfilter.txt替换。

 

在recrawl时的区别见nutch 数据增量更新

 

其实这个过程可以说是nutch对hadoop的利用的最深体会,我是这样认为的。想想看,当初,hadoop是内嵌在Nutch中,作为其中的一个功能模块。现在版本的nutch将hadop分离出来,但在分布式抓取时又得将它(配置文件,jar等)放回Nutch下。刚开始时老想nutch怎样结合hadoop进行分布式抓取;但分布式搜索还是有些不一样的,因为后者即使也是分布式,但它利用的hdfs对nutch是透明的。

 

install processes:

a.configure hadoop to run on cluster mode;

b.put all the config files belong hadoop(master and slaves) to conf dir of nutch(s) respectively;

c.execute the crawl command (SHOULD use individual commands to do INSTEAD OF 'craw',as 'crawl' is used for intranet usually)

 

here are the jobs belong this step:

Available Jobs
Job tracker Host Name Job tracker Start time Job Id Name User
master Mon Nov 07 20:50:54 CST 2011 job_201111072050_0001 inject crawl-url hadoop
master Mon Nov 07 20:50:54 CST 2011 job_201111072050_0002 crawldb crawl/dist/crawldb hadoop
master Mon Nov 07 20:50:54 CST 2011 job_201111072050_0003 generate: select from crawl/dist/crawldb hadoop
master Mon Nov 07 20:50:54 CST 2011 job_201111072050_0004 generate: partition crawl/dist/segments/2011110720 hadoop
master Mon Nov 07 20:50:54 CST 2011 job_201111072050_0005 fetch crawl/dist/segments/20111107205746 hadoop
master Mon Nov 07 20:50:54 CST 2011 job_201111072050_0006 crawldb crawl/dist/crawldb(update db actually )
hadoop
master Mon Nov 07 20:50:54 CST 2011 job_201111072050_0007 linkdb crawl/dist/linkdb hadoop
master Mon Nov 07 20:50:54 CST 2011 job_201111072050_0008 index-lucene crawl/dist/indexes hadoop
master Mon Nov 07 20:50:54 CST 2011 job_201111072050_0009 dedup 1: urls by time hadoop
master Mon Nov 07 20:50:54 CST 2011 job_201111072050_0010 dedup 2: content by hash hadoop
master Mon Nov 07 20:50:54 CST 2011 job_201111072050_0011

dedup 3: delete from index(es)

hadoop

 

 

* the jobs above with same color is ONE step beong the crawl command;

* job 2 :将sortjob結果作为输入(与已有的current数据合并),生成新的crawldb;所以可以有重复的urls,在reduce中会去重 ?

* job 4:由于存在多台crawlers,所以需要利用partition来划分urls(by host by default),来避免重复让一台机来抓取 ;

 

 

here is the output of resulst:

hadoop@leibnitz-laptop:/xxxxxxxxx$ hadoop fs -lsr crawl/dist/
drwxr-xr-x   - hadoop supergroup          0 2011-11-07 21:00 /user/hadoop/crawl/dist/crawldb
drwxr-xr-x   - hadoop supergroup          0 2011-11-07 21:00 /user/hadoop/crawl/dist/crawldb/current
drwxr-xr-x   - hadoop supergroup          0 2011-11-07 21:00 /user/hadoop/crawl/dist/crawldb/current/part-00000
-rw-r--r--   2 hadoop supergroup       6240 2011-11-07 21:00 /user/hadoop/crawl/dist/crawldb/current/part-00000/data
-rw-r--r--   2 hadoop supergroup        215 2011-11-07 21:00 /user/hadoop/crawl/dist/crawldb/current/part-00000/index
drwxr-xr-x   - hadoop supergroup          0 2011-11-07 21:00 /user/hadoop/crawl/dist/crawldb/current/part-00001
-rw-r--r--   2 hadoop supergroup       7779 2011-11-07 21:00 /user/hadoop/crawl/dist/crawldb/current/part-00001/data
-rw-r--r--   2 hadoop supergroup        218 2011-11-07 21:00 /user/hadoop/crawl/dist/crawldb/current/part-00001/index

drwxr-xr-x   - hadoop supergroup          0 2011-11-07 21:07 /user/hadoop/crawl/dist/index
-rw-r--r--   2 hadoop supergroup        369 2011-11-07 21:07 /user/hadoop/crawl/dist/index/_2.fdt
-rw-r--r--   2 hadoop supergroup         20 2011-11-07 21:07 /user/hadoop/crawl/dist/index/_2.fdx
-rw-r--r--   2 hadoop supergroup         71 2011-11-07 21:07 /user/hadoop/crawl/dist/index/_2.fnm
-rw-r--r--   2 hadoop supergroup       1836 2011-11-07 21:07 /user/hadoop/crawl/dist/index/_2.frq
-rw-r--r--   2 hadoop supergroup         14 2011-11-07 21:07 /user/hadoop/crawl/dist/index/_2.nrm
-rw-r--r--   2 hadoop supergroup       4922 2011-11-07 21:07 /user/hadoop/crawl/dist/index/_2.prx
-rw-r--r--   2 hadoop supergroup        171 2011-11-07 21:07 /user/hadoop/crawl/dist/index/_2.tii
-rw-r--r--   2 hadoop supergroup      11234 2011-11-07 21:07 /user/hadoop/crawl/dist/index/_2.tis
-rw-r--r--   2 hadoop supergroup         20 2011-11-07 21:07 /user/hadoop/crawl/dist/index/segments.gen
-rw-r--r--   2 hadoop supergroup        284 2011-11-07 21:07 /user/hadoop/crawl/dist/index/segments_2

drwxr-xr-x   - hadoop supergroup          0 2011-11-07 21:04 /user/hadoop/crawl/dist/indexes
drwxr-xr-x   - hadoop supergroup          0 2011-11-07 21:04 /user/hadoop/crawl/dist/indexes/part-00000
-rw-r--r--   2 hadoop supergroup        223 2011-11-07 21:04 /user/hadoop/crawl/dist/indexes/part-00000/_0.fdt
-rw-r--r--   2 hadoop supergroup         12 2011-11-07 21:04 /user/hadoop/crawl/dist/indexes/part-00000/_0.fdx
-rw-r--r--   2 hadoop supergroup         71 2011-11-07 21:04 /user/hadoop/crawl/dist/indexes/part-00000/_0.fnm
-rw-r--r--   2 hadoop supergroup        991 2011-11-07 21:04 /user/hadoop/crawl/dist/indexes/part-00000/_0.frq
-rw-r--r--   2 hadoop supergroup          9 2011-11-07 21:04 /user/hadoop/crawl/dist/indexes/part-00000/_0.nrm
-rw-r--r--   2 hadoop supergroup       2813 2011-11-07 21:04 /user/hadoop/crawl/dist/indexes/part-00000/_0.prx
-rw-r--r--   2 hadoop supergroup        100 2011-11-07 21:04 /user/hadoop/crawl/dist/indexes/part-00000/_0.tii
-rw-r--r--   2 hadoop supergroup       5169 2011-11-07 21:04 /user/hadoop/crawl/dist/indexes/part-00000/_0.tis
-rw-r--r--   2 hadoop supergroup          0 2011-11-07 21:04 /user/hadoop/crawl/dist/indexes/part-00000/index.done
-rw-r--r--   2 hadoop supergroup         20 2011-11-07 21:04 /user/hadoop/crawl/dist/indexes/part-00000/segments.gen
-rw-r--r--   2 hadoop supergroup        240 2011-11-07 21:04 /user/hadoop/crawl/dist/indexes/part-00000/segments_2
drwxr-xr-x   - hadoop supergroup          0 2011-11-07 21:04 /user/hadoop/crawl/dist/indexes/part-00001
-rw-r--r--   2 hadoop supergroup        150 2011-11-07 21:04 /user/hadoop/crawl/dist/indexes/part-00001/_0.fdt
-rw-r--r--   2 hadoop supergroup         12 2011-11-07 21:04 /user/hadoop/crawl/dist/indexes/part-00001/_0.fdx
-rw-r--r--   2 hadoop supergroup         71 2011-11-07 21:04 /user/hadoop/crawl/dist/indexes/part-00001/_0.fnm
-rw-r--r--   2 hadoop supergroup        845 2011-11-07 21:04 /user/hadoop/crawl/dist/indexes/part-00001/_0.frq
-rw-r--r--   2 hadoop supergroup          9 2011-11-07 21:04 /user/hadoop/crawl/dist/indexes/part-00001/_0.nrm
-rw-r--r--   2 hadoop supergroup       2109 2011-11-07 21:04 /user/hadoop/crawl/dist/indexes/part-00001/_0.prx
-rw-r--r--   2 hadoop supergroup        106 2011-11-07 21:04 /user/hadoop/crawl/dist/indexes/part-00001/_0.tii
-rw-r--r--   2 hadoop supergroup       6226 2011-11-07 21:04 /user/hadoop/crawl/dist/indexes/part-00001/_0.tis
-rw-r--r--   2 hadoop supergroup          0 2011-11-07 21:04 /user/hadoop/crawl/dist/indexes/part-00001/index.done
-rw-r--r--   2 hadoop supergroup         20 2011-11-07 21:04 /user/hadoop/crawl/dist/indexes/part-00001/segments.gen
-rw-r--r--   2 hadoop supergroup        240 2011-11-07 21:04 /user/hadoop/crawl/dist/indexes/part-00001/segments_2

drwxr-xr-x   - hadoop supergroup          0 2011-11-07 21:01 /user/hadoop/crawl/dist/linkdb
drwxr-xr-x   - hadoop supergroup          0 2011-11-07 21:01 /user/hadoop/crawl/dist/linkdb/current
drwxr-xr-x   - hadoop supergroup          0 2011-11-07 21:01 /user/hadoop/crawl/dist/linkdb/current/part-00000
-rw-r--r--   2 hadoop supergroup       8131 2011-11-07 21:01 /user/hadoop/crawl/dist/linkdb/current/part-00000/data
-rw-r--r--   2 hadoop supergroup        215 2011-11-07 21:01 /user/hadoop/crawl/dist/linkdb/current/part-00000/index
drwxr-xr-x   - hadoop supergroup          0 2011-11-07 21:01 /user/hadoop/crawl/dist/linkdb/current/part-00001
-rw-r--r--   2 hadoop supergroup      11240 2011-11-07 21:01 /user/hadoop/crawl/dist/linkdb/current/part-00001/data
-rw-r--r--   2 hadoop supergroup        218 2011-11-07 21:01 /user/hadoop/crawl/dist/linkdb/current/part-00001/index

drwxr-xr-x   - hadoop supergroup          0 2011-11-07 20:59 /user/hadoop/crawl/dist/segments
drwxr-xr-x   - hadoop supergroup          0 2011-11-07 20:59 /user/hadoop/crawl/dist/segments/20111107205746
drwxr-xr-x   - hadoop supergroup          0 2011-11-07 20:59 /user/hadoop/crawl/dist/segments/20111107205746/content
drwxr-xr-x   - hadoop supergroup          0 2011-11-07 20:59 /user/hadoop/crawl/dist/segments/20111107205746/content/part-00000
-rw-r--r--   2 hadoop supergroup      13958 2011-11-07 20:59 /user/hadoop/crawl/dist/segments/20111107205746/content/part-00000/data
-rw-r--r--   2 hadoop supergroup        213 2011-11-07 20:59 /user/hadoop/crawl/dist/segments/20111107205746/content/part-00000/index
drwxr-xr-x   - hadoop supergroup          0 2011-11-07 20:59 /user/hadoop/crawl/dist/segments/20111107205746/content/part-00001
-rw-r--r--   2 hadoop supergroup       6908 2011-11-07 20:59 /user/hadoop/crawl/dist/segments/20111107205746/content/part-00001/data
-rw-r--r--   2 hadoop supergroup        224 2011-11-07 20:59 /user/hadoop/crawl/dist/segments/20111107205746/content/part-00001/index

drwxr-xr-x   - hadoop supergroup          0 2011-11-07 20:59 /user/hadoop/crawl/dist/segments/20111107205746/crawl_fetch
drwxr-xr-x   - hadoop supergroup          0 2011-11-07 20:59 /user/hadoop/crawl/dist/segments/20111107205746/crawl_fetch/part-00000
-rw-r--r--   2 hadoop supergroup        255 2011-11-07 20:59 /user/hadoop/crawl/dist/segments/20111107205746/crawl_fetch/part-00000/data
-rw-r--r--   2 hadoop supergroup        213 2011-11-07 20:59 /user/hadoop/crawl/dist/segments/20111107205746/crawl_fetch/part-00000/index
drwxr-xr-x   - hadoop supergroup          0 2011-11-07 20:59 /user/hadoop/crawl/dist/segments/20111107205746/crawl_fetch/part-00001
-rw-r--r--   2 hadoop supergroup        266 2011-11-07 20:59 /user/hadoop/crawl/dist/segments/20111107205746/crawl_fetch/part-00001/data
-rw-r--r--   2 hadoop supergroup        224 2011-11-07 20:59 /user/hadoop/crawl/dist/segments/20111107205746/crawl_fetch/part-00001/index

drwxr-xr-x   - hadoop supergroup          0 2011-11-07 20:58 /user/hadoop/crawl/dist/segments/20111107205746/crawl_generate
-rw-r--r--   2 hadoop supergroup        255 2011-11-07 20:58 /user/hadoop/crawl/dist/segments/20111107205746/crawl_generate/part-00000
-rw-r--r--   2 hadoop supergroup         86 2011-11-07 20:58 /user/hadoop/crawl/dist/segments/20111107205746/crawl_generate/part-00001

drwxr-xr-x   - hadoop supergroup          0 2011-11-07 20:59 /user/hadoop/crawl/dist/segments/20111107205746/crawl_parse
-rw-r--r--   2 hadoop supergroup       6819 2011-11-07 20:59 /user/hadoop/crawl/dist/segments/20111107205746/crawl_parse/part-00000
-rw-r--r--   2 hadoop supergroup       8302 2011-11-07 20:59 /user/hadoop/crawl/dist/segments/20111107205746/crawl_parse/part-00001

drwxr-xr-x   - hadoop supergroup          0 2011-11-07 20:59 /user/hadoop/crawl/dist/segments/20111107205746/parse_data
drwxr-xr-x   - hadoop supergroup          0 2011-11-07 20:59 /user/hadoop/crawl/dist/segments/20111107205746/parse_data/part-00000
-rw-r--r--   2 hadoop supergroup       2995 2011-11-07 20:59 /user/hadoop/crawl/dist/segments/20111107205746/parse_data/part-00000/data
-rw-r--r--   2 hadoop supergroup        213 2011-11-07 20:59 /user/hadoop/crawl/dist/segments/20111107205746/parse_data/part-00000/index
drwxr-xr-x   - hadoop supergroup          0 2011-11-07 20:59 /user/hadoop/crawl/dist/segments/20111107205746/parse_data/part-00001
-rw-r--r--   2 hadoop supergroup       1917 2011-11-07 20:59 /user/hadoop/crawl/dist/segments/20111107205746/parse_data/part-00001/data
-rw-r--r--   2 hadoop supergroup        224 2011-11-07 20:59 /user/hadoop/crawl/dist/segments/20111107205746/parse_data/part-00001/index

drwxr-xr-x   - hadoop supergroup          0 2011-11-07 20:59 /user/hadoop/crawl/dist/segments/20111107205746/parse_text
drwxr-xr-x   - hadoop supergroup          0 2011-11-07 20:59 /user/hadoop/crawl/dist/segments/20111107205746/parse_text/part-00000
-rw-r--r--   2 hadoop supergroup       3669 2011-11-07 20:59 /user/hadoop/crawl/dist/segments/20111107205746/parse_text/part-00000/data
-rw-r--r--   2 hadoop supergroup        213 2011-11-07 20:59 /user/hadoop/crawl/dist/segments/20111107205746/parse_text/part-00000/index
drwxr-xr-x   - hadoop supergroup          0 2011-11-07 20:59 /user/hadoop/crawl/dist/segments/20111107205746/parse_text/part-00001
-rw-r--r--   2 hadoop supergroup       2770 2011-11-07 20:59 /user/hadoop/crawl/dist/segments/20111107205746/parse_text/part-00001/data
-rw-r--r--   2 hadoop supergroup        224 2011-11-07 20:59 /user/hadoop/crawl/dist/segments/20111107205746/parse_text/part-00001/index

 

从以上分析可得,除了merged index外,其它目录都存在两份-对应两台crawlers.

利用这两份索引 ,就可以实现分布式搜索了。


剩下问题:为什么网上介绍的分步方式都没有使用dedup命令?

  nutch 数据增量更新    上可知, 分布式抓取也应该使用这个dedup命令。

 

see also

http://wiki.apache.org/nutch/NutchTutorial

http://mr-lonely-hp.iteye.com/blog/1075395

分享到:
评论

相关推荐

    Linux下Nutch分布式配置和使用

    Linux下Nutch分布式配置 使用:分布式爬虫、索引、Nutch搜索本地数据、Nutch搜索HDFS数据。

    分布式网络爬虫的设计与实现应用分析文档.docx

    此外,论文还涉及了Nutch分布式搜索系统的相关研究,这是一个开源的、基于Apache Hadoop的搜索引擎项目,提供了完整的网络爬虫和索引功能,对于理解分布式网络爬虫的实现具有重要的参考价值。 在系统实现部分,文章...

    分布式爬虫的研究与实现.pdf

    实验对比了基于Nutch的分布式爬虫与其他爬虫的多组实验数据,结果证明了分布式爬虫项目的优越性。 综上所述,分布式爬虫的研究与实现是一个融合了爬虫框架、分布式协调服务、数据库存储、信息索引展示引擎以及页面...

    Linux下Nutch分布式配置和使用.rar

    6 Nutch分布式爬虫 .................................................. 9 6.1配置Nutch配置文件 ............................................ 9 6.2 执行Nutch分布式爬虫 ......................................

    分布式网络爬虫关键技术分析与实现.pdf

    开源的网络爬虫如Larbin、Nutch、Heritrix提供了基础框架,开发者可以根据需求进行定制。设计分布式爬虫时,需要综合考虑上述各个层面,以实现高效、稳定、可控的爬行过程。 总的来说,分布式网络爬虫技术涉及...

    nutch爬虫资料

    Nutch是一款开源的网络爬虫项目,主要用于抓取和索引互联网上的网页内容。它由Apache软件基金会开发,是Hadoop大数据生态系统的一部分,利用Java语言编写。本资料包围绕Nutch爬虫,提供了相关的参考书籍和源代码分析...

    apache-nutch-1.13-src.zip_nutch_网络爬虫

    - `src/bin`:包含命令行工具,如 `nutch` 脚本,用于启动爬虫、索引和搜索操作。 - `build.xml`:Ant 构建脚本,用于构建和打包 Nutch 项目。 学习 Nutch,你需要熟悉 Hadoop 和相关的大数据生态系统,如 HDFS 和 ...

    分布式搜索引擎nutch开发

    Nutch是一款开源的、基于Java实现的全文搜索引擎,它主要用于构建大规模的网络爬虫系统,并提供了对抓取的网页进行索引和搜索的功能。Nutch与Hadoop紧密集成,能够充分利用分布式计算的优势,处理海量数据。在本篇中...

    Nutch-1.0分布式安装手册.rar

    Apache Nutch是一款开源的网络爬虫软件,用于抓取互联网上的网页并进行索引,是大数据领域中搜索引擎构建的重要工具。这份手册涵盖了从环境准备到系统配置的全过程,旨在帮助用户成功搭建一个分布式的Nutch系统。 ...

    Apache Nutch网络爬虫 v1.19.zip

    Apache Nutch 是一个开源的网络爬虫项目,用于抓取互联网上的网页并建立索引,以便于搜索引擎进行高效的数据检索。v1.19 是该项目的一个稳定版本,提供了丰富的功能和改进,适用于研究、开发以及各种数据分析任务。...

    Nutch爬虫工作流程及文件格式详细分析

    总的来说,Nutch爬虫的工作流程和文件格式设计旨在实现高效、分布式的网页抓取,并为后续的搜索服务提供基础。通过对WebDB、segment和index的理解,我们可以更好地掌握Nutch如何构建和管理其爬取的互联网数据。

    Nutch爬虫工作流程及文件格式详细分析.doc

    Nutch 是一个开源的搜索引擎项目,其核心功能...Nutch的这种设计使得爬虫和搜索器可以分布式部署在不同的硬件上,提高整体性能和可扩展性。了解Nutch的文件格式和工作流程对于管理和优化大规模的Web抓取任务至关重要。

    nutch爬虫+java+eclipse

    Nutch使用Hadoop进行分布式处理,能够处理海量数据,适合大型网站的爬取需求。 1.1 URL管理和调度:Nutch使用URL数据库存储待抓取的网页,并通过一个策略算法(如FIFO或Priority Queue)决定下一个要抓取的URL。 ...

    nutch

    Nutch 是一个开源的网络爬虫项目,主要设计用于抓取、索引和搜索互联网上的网页。它由 Apache 软件基金会开发,并且是 Hadoop 的一部分,这意味着它能够利用分布式计算来处理大规模的数据抓取任务。Nutch 提供了一套...

    JavaEE实现分布式爬虫新闻聚合网站 SSM框架实现.zip

    5. **分布式爬虫**:分布式爬虫涉及多线程或多进程爬取、任务调度、链接去重、爬虫集群等技术,如使用Apache Nutch或Scrapy等开源框架,实现大规模、高效的数据抓取。 6. **新闻聚合**:新闻聚合可能涉及HTML解析...

    nutch-2.1源代码

    它可以利用Hadoop框架进行分布式索引和搜索,处理海量数据。 在研究和使用Nutch-2.1源代码时,你可以深入了解搜索引擎的各个组成部分,如爬虫的实现、索引过程的细节、查询处理的算法等,这对于提升自己的搜索引擎...

    nutch开发资料 搜索引擎

    1. **Nutch介绍**:Nutch是一个基于Java的开源Web爬虫,它能够抓取互联网上的网页,并对抓取的数据进行索引和搜索。Nutch的设计目标是提供可扩展性和高效率,适合大规模的Web数据处理。 2. **增量索引**:在Nutch中...

Global site tag (gtag.js) - Google Analytics