`

nutch-1.2结合hadoop分布式搜索

 
阅读更多

nutch-1.2结合hadoop分布式搜索。
1、网上关于nutch分布式搜索的配置有些BLOG写的很详细了。有那些地方有疑问的,我这里也给一个连接<<nutch分布式搜索配置>>
2、在这里主要想写下工作过程当中遇到的一些问题:
------0-------
------1-------
------2-------
------3-------
java.io.IOException: Filesystem closed
    at org.apache.hadoop.hdfs.DFSClient.checkOpen(DFSClient.java:226)
    at org.apache.hadoop.hdfs.DFSClient.access$600(DFSClient.java:67)
    at org.apache.hadoop.hdfs.DFSClient$DFSInputStream.read(DFSClient.java:1756)
    at java.io.DataInputStream.read(Unknown Source)
    at org.apache.nutch.indexer.FsDirectory$DfsIndexInput.readInternal(FsDirectory.java:178)
    at org.apache.lucene.store.BufferedIndexInput.refill(BufferedIndexInput.java:160)
    at org.apache.lucene.store.BufferedIndexInput.readByte(BufferedIndexInput.java:39)
    at org.apache.lucene.store.IndexInput.readVInt(IndexInput.java:81)
    at org.apache.lucene.index.FieldsReader.doc(FieldsReader.java:222)
    at org.apache.lucene.index.SegmentReader.document(SegmentReader.java:879)
    at org.apache.lucene.index.DirectoryReader.document(DirectoryReader.java:574)
    at org.apache.lucene.index.IndexReader.document(IndexReader.java:658)
    at org.apache.lucene.search.IndexSearcher.doc(IndexSearcher.java:163)
    at org.apache.nutch.searcher.IndexSearcher.getDetails(IndexSearcher.java:110)
    at org.apache.nutch.searcher.LuceneSearchBean.getDetails(LuceneSearchBean.java:107)
    at org.apache.nutch.searcher.NutchBean.getDetails(NutchBean.java:359)
    at com.yichen.node.ThreadPoolTaskSearch.query(ThreadPoolTaskSearch.java:89)
    at com.yichen.node.ThreadPoolTaskSearch.query(ThreadPoolTaskSearch.java:59)
    at com.yichen.node.ThreadPoolTaskSearch.search(ThreadPoolTaskSearch.java:38)
    at com.yichen.node.ThreadPoolTaskSearch.run(ThreadPoolTaskSearch.java:130)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
nutchBean closed。。。。
nutchBean closed。。。。
{indexNo=0, uniqueKey=35, su=null, post=IT工程师, company=卡斯柯信号有限公司北京分公司, salary=(0-0), type=job, updatetime=20110621}
no found result。。。。
{indexNo=0, uniqueKey=19, su=null, post=【知名合资IT企业】高级营销经理(安全)–CEN810, company=大连博科人才有限公司, salary=(0-0), type=job, updatetime=20110621}
{indexNo=0, uniqueKey=18, su=null, post=【知名合资IT企业】高级拓展经理(安全)–CEN811, company=大连博科人才有限公司, salary=(0-0), type=job, updatetime=20110621}
{indexNo=0, uniqueKey=20, su=null, post=【知名合资IT企业】高级规划经理(安全)–CEN809, company=大连博科人才有限公司, salary=(0-0), type=job, updatetime=20110621}
{indexNo=0, uniqueKey=21, su=null, post=理财产品销售专员(综合金融), company=平安金融服务公司, salary=(4000-50000), type=job, updatetime=20110621}
{indexNo=0, uniqueKey=25, su=null, post=理财金融营销专员, company=平安金融服务公司, salary=(4000-50000), type=job, updatetime=20110620}
{indexNo=0, uniqueKey=28, su=null, post=金融产品理财专员, company=平安金融服务公司, salary=(5000-20000), type=job, updatetime=20110620}
{indexNo=0, uniqueKey=22, su=null, post=理财客户金融经理, company=平安金融服务公司, salary=(6001-8000), type=job, updatetime=20110620}
{indexNo=0, uniqueKey=24, su=null, post=理财金融专员, company=平安金融服务公司, salary=(3000-20000), type=job, updatetime=20110621}
{indexNo=0, uniqueKey=31, su=null, post=金融理财经理(综合金融), company=平安金融服务公司, salary=(8001-10000), type=job, updatetime=20110620}

分析原因:单个线程在分布式中搜索没有出现问题,以上出现错误原因是多线程搜索时出现的。由于每次打开的连接次数太多,导致连接没有关闭。出现上面的错误。
解决办法:
1、在servlet初始化中,加入:
    public void init(ServletConfig config) throws ServletException {
        try {
            this.conf = NutchConfiguration.get(config.getServletContext());
            bean = NutchBean.get(config.getServletContext(), this.conf);
        } catch (IOException e) {
            throw new ServletException(e);
        }
        MAX_HITS_PER_PAGE = conf.getInt("searcher.max.hits.per.page", -1);
    }
2、修改web.xml,加入:
<listener>
  <listener-class>org.apache.nutch.searcher.NutchBean$NutchBeanConstructor</listener-class>
</listener>

<servlet>
  <servlet-name>Cached</servlet-name>
  <servlet-class>org.apache.nutch.servlet.Cached</servlet-class>
</servlet>
3、在自己的servlet中把NutchBean的实例和NutchConfiguration的实例传递过去。保证初始化时只打开一次index。

分享到:
评论

相关推荐

    apache-nutch-1.4-bin.tar.gz

    - **Hadoop 集成**:Nutch 1.4 与Hadoop的兼容性更强,可以在大规模分布式环境中运行。 **部署和使用 Nutch 1.4:** 1. **解压**:首先,你需要将"apache-nutch-1.4-bin.tar.gz"解压到本地目录,得到Nutch的运行...

    Nutch+solr + hadoop相关框架搭建教程

    在 Nutch 中,Hadoop 负责分布式爬虫的执行和数据处理。Nutch 使用 Hadoop MapReduce 模型来并行处理任务,如网页抓取、解析、索引等。通过 Nutch 脚本,我们可以将 Apache-nutch-1.6.job 提交给 Hadoop 的 ...

    nutch1.2 java的project

    1. **导入项目**:在Eclipse中选择“File” &gt; “Import” &gt; “Existing Projects into Workspace”,然后浏览到下载的`nutch1.2+Project`目录,导入项目。 2. **添加库**:确保你的Eclipse环境中已经安装了Apache ...

    nutch1.2源码

    Apache Nutch是开源的网络爬虫项目,专为大规模数据抓取设计,它与Hadoop分布式计算框架紧密集成,能够处理海量网页数据。Nutch 1.2是该项目的一个稳定版本,提供了许多改进和优化,使得它在搜索引擎构建、数据分析...

    nutch1.2 java project

    同时,你也需要配置 Hadoop 环境,因为 Nutch 可以与 Hadoop 集成,利用其分布式处理能力。 2. **项目结构**:Nutch 1.2 的项目结构包括源代码、配置文件、工作目录等。主要的代码集中在 `src` 目录下,包括 `java`...

    Nutch搜索引擎培训讲义

    - 与Hadoop平台紧密结合,充分利用MapReduce框架进行分布式计算。 3. **索引机制** - 支持多种索引后端,不仅限于Solr,还可以使用Elasticsearch等。 4. **API支持** - 提供了丰富的API接口,方便开发者进行...

    Nutch相关框架视频教程 (1-20)(PDF)

    4. **搜索引擎三巨头**:Lucene、Nutch和Hadoop在搜索技术领域非常有名,它们共同构成了现代搜索引擎的基础。 - **Lucene**:是一个高性能的全文搜索引擎库,可以嵌入到应用程序中,实现高效的数据索引和查询。 - ...

    linux下如何配置分布式检索

    2. **软件准备**:准备好Nutch(例如版本为1.2)和Hadoop等必要的软件包。 3. **网络准备**:确认所有节点之间的网络连接畅通无阻。 #### 三、具体步骤 ##### 1. 安装与部署Tomcat - **安装Tomcat**:确保目标...

    hadoop快速入门

    - **起源**:Hadoop起源于Nutch项目,最初目的是解决大规模网页抓取与索引的问题。 - **关键技术来源**:2003年和2004年谷歌发表的关于分布式文件系统(Google File System, GFS)和分布式计算框架(MapReduce)的论文...

    搭建nutch web开发环境

    3. **Hadoop**:Nutch可以与Hadoop集成,用于分布式处理和存储数据。安装Hadoop 1.x或2.x版本,并配置好`HADOOP_HOME`环境变量。 **获取Nutch源代码** 1. 使用Git克隆Nutch 1.2的源代码库: ``` git clone ...

    Nutch相关框架视频教程 讲义 杨尚川

    3. 处理完成后,结果会被存储回Hadoop分布式文件系统(HDFS)。 #### 六、Nutch脚本分析 对于初学者而言,深入分析**Nutch脚本文件**是非常重要的。这些脚本文件定义了Nutch的主要工作流程,包括数据抓取、解析、...

    云计算-基于Hadoop的云计算应用研究.pdf

    3.2 HDFS(Hadoop分布式文件系统) HDFS是一个高容错性的文件系统,设计目标是能在廉价硬件上运行。它将大文件分割成块,并在多台节点上冗余存储,确保数据的可靠性和可用性。 3.2.1 HDFS体系结构 HDFS有两个主要...

    Hadoop入门学习文档

    - 2005年:Hadoop作为Nutch的一部分加入Apache基金会。 - 2006年:Map-Reduce和NDFS被纳入Hadoop项目。 ##### 2.3 Hadoop发行版本 - **Apache版本**:最基础的版本,适合初学者学习。 - **Cloudera版本**:在大型...

    基于hadoop的海量文本处理系统

    - **数据接收方式**:采用数据网关代理模式,数据直接写入到Hadoop分布式文件系统 (HDFS) 中。 - **硬件配置**:4台接收机,每台支持10个进程用于数据接收和写入,数据的复制因子设定为3。 - **性能指标**:经过测试...

    Hadoop生态系统基本介绍(60张幻灯片,包含大量图).pptx

    - **起源**:Hadoop最初是为了提升Apache Nutch(一个开源的Web搜索引擎项目)的可扩展性而诞生的。其发展受到两篇谷歌论文的影响:《The Google File System》和《MapReduce: Simplified Data Processing on Large ...

    Hadoop快速入门

    - **SolrCloud**:SolrCloud是一种分布式搜索平台,它允许用户构建高度可扩展的搜索应用。SolrCloud集群通常由多台Solr服务器组成,这些服务器共同提供高性能的搜索服务。SolrCloud的设计使得它可以轻松地在多个节点...

    大数据技术之Hadoop.docx

    Hadoop是由Apache Software Foundation在2005年秋季作为Lucene的子项目Nutch的一部分正式引入的。其核心思想来源于Google实验室开发的Map/Reduce和Google File System (GFS)。 - **Google的影响**: Google在大数据...

    Hadoop实战

    - **定义**: Hadoop是由Apache软件基金会维护的一个开源分布式计算平台,它以Hadoop分布式文件系统(HDFS)和MapReduce为核心,提供了一个简单易用的分布式计算框架。 - **特点**: 高容错性、高伸缩性、高效率以及...

Global site tag (gtag.js) - Google Analytics