`
wbj0110
  • 浏览: 1609442 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

nutch2.1+mysql+elasticsearch整合linux单机部署

阅读更多

 

from internet
这次主要介绍下nutch2.1和mysql和elasticsearch的整合,是在单机上运行,并不是分布式部署。
1、下载nutch2.1
    nutch下载地址:http://labs.mop.com/apache-mirror/nutch/2.1/apache-nutch-2.1-src.tar.gz
    下载完成后解压, 
2、配置nutch使用mysql作为数据存储,修改nutch根目录/ivy/ivy.xml文件
    将这行的注释取消<dependency org=”mysql” name=”mysql-connector-java” rev=”5.1.18″ conf=”*->default”/>
    修改nutch根目录/conf/gora.properties文件,把默认存储配置改成如下 
# MySQL properties #
###############################
gora.sqlstore.jdbc.driver=com.mysql.jdbc.Driver
gora.sqlstore.jdbc.url=jdbc:mysql://host:3306/nutch? useUnicode=true&characterEncoding=utf8&autoReconnect=true&zeroDateTimeBehavior=convertToNull
gora.sqlstore.jdbc.user=user
gora.sqlstore.jdbc.password=password
3、修改conf的nutch-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
 
<configuration>
<property>
<name>http.agent.name</name>
<value>My Spider</value>
</property>
 
<property>
<name>http.accept.language</name>
<value>ja-jp,zh-cn,en-us,en-gb,en;q=0.7,*;q=0.3</value>
</property>
 
<property>
<name>parser.character.encoding.default</name>
<value>utf-8</value>
<description>The character encoding to fall back to when no other information
is available</description>
</property>
 
<property>
<name>storage.data.store.class</name>
<value>org.apache.gora.sql.store.SqlStore</value>
</property>
 
<property>
<name>plugin.includes</name>
<value>protocol-http|urlfilter-regex|parse-(html|tika)|index-(basic|anchor)|urlnormalizer-(pass|regex|basic)|scoring-opic</value>
</property>
 
</configuration>
4、使用ant编译源码。
     nutch根目录下输入ant
5、设置待抓取的网站
    cd nutch根目录/runtime/local 
    创建urls目录
    mkdir -p urls 
    创建初始爬取网站列表
    echo 'http://www.web.com/' > urls/seed.txt
 
6、创建数据库和表
CREATE DATABASE nutch DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; 
 
CREATE TABLE `webpage` (`id` varchar(767) CHARACTER SET latin1 NOT NULL,
`headers` blob,
`text` mediumtext DEFAULT NULL,
`status` int(11) DEFAULT NULL,
`markers` blob,
`parseStatus` blob,
`modifiedTime` bigint(20) DEFAULT NULL,
`score` float DEFAULT NULL,
`typ` varchar(32) CHARACTER SET latin1 DEFAULT NULL,
`baseUrl` varchar(512) CHARACTER SET latin1 DEFAULT NULL,
`content` mediumblob,
`title` varchar(2048) DEFAULT NULL,
`reprUrl` varchar(512) CHARACTER SET latin1 DEFAULT NULL,
`fetchInterval` int(11) DEFAULT NULL,
`prevFetchTime` bigint(20) DEFAULT NULL,
`inlinks` mediumblob,
`prevSignature` blob,
`outlinks` mediumblob,
`fetchTime` bigint(20) DEFAULT NULL,
`retriesSinceFetch` int(11) DEFAULT NULL,
`protocolStatus` blob,
`signature` blob,
`metadata` blob,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
7、执行爬行操作:
bin/nutch crawl urls -depth 3
执行完在mysql中即可以查看到爬虫抓取的内容
8、执行索引操作:
bin/nutch elasticindex clustername -all
注意:nutch2.1是通过创建一个es节点加入集群的方式与es集群交互的,所以只需知道es集群的集群名字就可以。并且必须在同一局域网内,不过这样的话对于关闭了广播通信的es集群并不适用。
执行完后就可以通过http://eshost:9200/index/_status来看到建立的索引信息
 
附elasticsearch 网页索引mapping(使用ik分词):
{
"mappings": {
        "properties":{
                     "anchor":{
                        "index":"not_analyzed",
                        "type":"string"
                     },
                     "boost":{
                        "type":"string"
                     },
                     "content":{
                        "analyzer":"ik",
                        "boost":2.0,
                        "type":"string"
                     },
                     "digest":{
                        "type":"string"
                     },
                     "host":{
                        "type":"string"
                     },
                     "id":{
                        "type":"string"
                     },
                     "site":{
                        "type":"string"
                     },
                     "title":{
                        "analyzer":"ik",
                        "boost":4.0,
                        "type":"string"
                     },
                     "tstamp":{
                         "type":"date",
                         "format":"dateOptionalTime"
                     },
                     "url":{
                        "type":"string"
                     }
        }
    }
 
}

 

分享到:
评论

相关推荐

    nutch2.1最新svn打包

    Nutch 2.1 是一个开源的网络爬虫项目,它是Apache软件基金会的一部分,主要用于抓取、解析网页并建立搜索引擎索引。这个“nutch2.1最新svn打包”资源包含的是Nutch 2.1的最新源代码版本,通过Subversion (SVN) 版本...

    人工智能-项目实践-搜索引擎-基于Nutch+ElasticSearch+MySQL+SSM的简易搜索引擎

    标题中的“人工智能-项目实践-搜索引擎-基于Nutch+ElasticSearch+MySQL+SSM的简易搜索引擎”揭示了一个项目,旨在构建一个简易的搜索引擎,利用了人工智能的一些原理和技术。这个项目结合了多个开源工具,包括Nutch...

    nutch2.1缺少包org.restlet-2.0.5.jar

    nutch2.1导入Eclipse过程中,import org.restlet.×;错误,缺少的包。

    nutch2.1缺少包org.restlet.ext.jackson.jar

    nutch2.1导入Eclipse过程中,import org.restlet.×;错误,缺少的包。

    nutch2.3+hbase0.94.14+hadoop1.2.1安装文档.

    nutch2.3+hbase0.94.14+hadoop1.2.1安装文档.txt )

    基于Nutch+ElasticSearch+MySQL+SSM的简易搜索引擎+源代码+文档说明

    &lt;项目介绍&gt; 该资源内项目源码是个人的毕设,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!...

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

    【Nutch】 Apache Nutch 是一个开源的网络爬虫项目,主要用于构建大规模的搜索引擎。Nutch 提供了从互联网抓取网页、解析内容、提取链接到存储索引的完整流程。Nutch 1.2 版本后,它开始使用 Ivy 进行依赖管理,方便...

    毕设&课设&项目&实训-基于Nutch+ElasticSearch+MySQL+SSM的简易搜索引擎.zip

    基于STM32、ESP8266、PHP、QT、应用软件开发、系统软件开发、移动应用开发、网站开发C++、Java、python、web、C#、单片机、EDA、proteus、RTOS、包括计算机硬件、服务器、网络设备、存储设备、移动设备、LInux、IOS...

    Windows下cygwin+MyEclipse 8.5+Nutch1.2+Tomcat 6.0

    对于Nutch这样的开源爬虫框架来说,其默认支持的是Linux环境,因此我们需要通过安装Cygwin来确保能够在Windows系统中顺利运行Nutch。 **1.1.1 在线安装** - **服务器选择**:在安装Cygwin时,推荐选择美国的服务器...

    apache-nutch-2.1

    Nutch 不仅可以抓取网页,还可以通过 Solr 或 Elasticsearch 等搜索服务器提供搜索服务,让用户能够基于抓取的数据进行查询。 9. **社区支持**: Apache Nutch 有着活跃的社区,用户可以在邮件列表、论坛等平台上...

    nutch2.2.1安装步骤.docx

    下面我们将详细探讨如何在 Linux 系统上安装这些组件以及配置 Nutch。 首先,你需要下载以下软件: 1. apache-ant-1.10.5-bin.tar.gz:Ant 是一个 Java 编写的构建工具,用于自动化构建过程,如编译、打包和测试。 ...

    nutch爬虫+java+eclipse

    Nutch 是一个开源的全文搜索引擎框架,主要用于网络数据抓取,是Java开发的,因此它为Java开发者提供了一个构建大规模网络爬虫的平台。在Java环境下结合Eclipse IDE,我们可以轻松地开发和调试Nutch爬虫项目。下面将...

    nutch-2.1源代码

    Nutch-2.1是Apache Nutch的一个特定版本,它是一个用Java编写的开源搜索引擎软件。这个项目的主要目标是提供一套高效、可扩展的搜索引擎工具,使得用户可以在自己的环境中搭建和运行自己的搜索引擎。Nutch不仅仅是一...

    apahce-nutch-2.1

    Nutch的版本2.1是一个成熟的版本,包含了多个改进和优化,使其在处理大规模网页抓取和索引时表现卓越。 Nutch的主要组件包括: 1. **Web爬虫**:Nutch的爬虫负责自动遍历互联网上的网页。它通过跟踪HTML中的链接...

    nutch+lucene开发自己的搜索引擎ch3.pdf

    ### nutch+lucene开发自己的搜索引擎知识点总结 #### 一、概览 - **标题与描述**: 本资料“nutch+lucene开发自己的搜索引擎ch3.pdf”聚焦于介绍如何使用Nutch和Lucene来构建自己的搜索引擎,特别强调了第三章:...

    Lucene+Nutch本书源码+详细说明

    《Lucene+Nutch:搜索引擎开发深度解析》一书的源码及详细说明是搜索引擎开发者和爱好者的重要参考资料。这本书深入探讨了如何使用Apache Lucene和Nutch构建一个完整的搜索引擎系统,涵盖了从网页抓取到索引建立,再...

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

    这是本人在完全分布式环境下在Cent-OS中配置Nutch-1.1时的总结文档,但该文档适合所有Linux系统和目前各版本的nutch。 目 录 介绍 ............................................................... 2 0 集群...

    Apache Nutch 1.7 在windows和Linux下的安装

    Apache Nutch 1.7 在 Windows 和 Linux 下的安装 Apache Nutch 1.7 是一个开源的网络爬虫和搜索引擎项目,它可以对互联网上的网页进行爬取、索引和搜索。本文将详细介绍 Apache Nutch 1.7 在 Windows 和 Linux 下的...

Global site tag (gtag.js) - Google Analytics