Mac自己搭建爬虫搜索引擎(nutch+elasticsearch是失败的尝试,改用scrapy+elasticsearch)

1.引言

项目需要做爬虫并能提供个性化信息检索及推送,发现各种爬虫框架。其中比较吸引的是这个:

Nutch+MongoDB+ElasticSearch+Kibana 搭建搜索引擎

E文原文在:http://www.aossama.com/search-engine-with-apache-nutch-mongodb-and-elasticsearch/

考虑用docker把系统搭建起来测试:

docker来源如下:

https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html

https://store.docker.com/community/images/pure/nutch-mongo

然而,docker下载image时实在是太慢,放弃docker!

Mac 设置JAVA_HOME:

vi ~/.bash_profile

export JAVA_HOME=$(/usr/libexec/java_home)
export PATH=$JAVA_HOME/bin:$PATH
export CLASS_PATH=$JAVA_HOME/lib

2.安装Mongo

Mac下直接用brew安装,此时最新版本是3.4.7。

安装好后建/data/db目录,mongod启动服务。

测试可用mongo命令连接,输入dbs查看数据库。

brew install mongo
sudo mkdir /data/db
sudo chown <你都用户名>  /data

mongod

3.安装es+kibana

下载es, 最新版是5.5.1. 地址:https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.5.1.tar.gz

修改配置

$ vim config/elasticsearch.yml

cluster.name: my-application

node.name: "node-1"

node.master: true

node.data: true

path.data: /opt/elasticsearch/data

network.bind_host: 127.0.0.1

network.publish_host: 127.0.0.1

network.host: 127.0.0.1

运行命令:bin/elasticsearch

浏览器访问:http://localhost:9200

下载kibana, 最新版是5.5.1,地址:Mac

运行命令:bin/kibana

浏览器访问:http://localhost:5601

4.安装Apache nutch

下载Apache Nutch 2.3.1 (src.tar.gz): http://nutch.apache.org/downloads.html

配置环境变量:export NUTCH_HOME=$(pwd)

修改配置

$ cat conf/nutch-site.xml

<configuration>

<property>

<name>storage.data.store.class</name>

<value>org.apache.gora.mongodb.store.MongoStore</value>

<description>Default class for storing data</description>

</property>

</configuration>

解除注释mongodb相关注释:

$NUTCH_HOME/ivy/ivy.xml:

<dependency org="org.apache.gora" name="gora-mongodb" rev="0.5" conf="*->default" />

$NUTCH_HOME/conf/gora.properties

############################

# MongoDBStore properties #

############################

gora.datastore.default=org.apache.gora.mongodb.store.MongoStore

gora.mongodb.override_hadoop_configuration=false

gora.mongodb.mapping.file=/gora-mongodb-mapping.xml

gora.mongodb.servers=localhost:27017

gora.mongodb.db=nutch

重要!需要更新elastic插件!原插件版本1.4.1,现最新是5.5.1.

修改

cd src/plugin/indexer-elastic/

vi src/plugin/indexer-elastic/ivy.xml

...

<dependencies>

<dependency org="org.elasticsearch" name="elasticsearch"

rev="5.5.1" conf="*->default" />

</dependencies>

...

ant -f ./build-ivy.xml

ls lib 查看版本,更新plugin.xml中版本号。

<library name="HdrHistogram-2.1.9.jar"/>
<library name="elasticsearch-5.5.1.jar"/>
<library name="hppc-0.7.1.jar"/>
<library name="jackson-core-2.8.6.jar"/>
<library name="jackson-dataformat-cbor-2.8.6.jar"/>
<library name="jackson-dataformat-smile-2.8.6.jar"/>
<library name="jackson-dataformat-yaml-2.8.6.jar"/>
<library name="jna-4.4.0.jar"/>
<library name="joda-time-2.9.5.jar"/>
<library name="jopt-simple-5.0.2.jar"/>
<library name="log4j-api-2.8.2.jar"/>
<library name="lucene-analyzers-common-6.6.0.jar"/>
<library name="lucene-backward-codecs-6.6.0.jar"/>
<library name="lucene-core-6.6.0.jar"/>
<library name="lucene-grouping-6.6.0.jar"/>
<library name="lucene-highlighter-6.6.0.jar"/>
<library name="lucene-join-6.6.0.jar"/>
<library name="lucene-memory-6.6.0.jar"/>
<library name="lucene-misc-6.6.0.jar"/>
<library name="lucene-queries-6.6.0.jar"/>
<library name="lucene-queryparser-6.6.0.jar"/>
<library name="lucene-sandbox-6.6.0.jar"/>
<library name="lucene-spatial-6.6.0.jar"/>
<library name="lucene-spatial-extras-6.6.0.jar"/>
<library name="lucene-spatial3d-6.6.0.jar"/>
<library name="lucene-suggest-6.6.0.jar"/>
<library name="securesm-1.1.jar"/>
<library name="snakeyaml-1.15.jar"/>
<library name="t-digest-3.0.jar"/>

然而!更大的坑是这个plugin代码出错了!不折腾了,放弃!

开始编译:ant runtime    (跑了33分钟!)

结论

1. nutch 2.x 与 elasticsearch 5.x暂时不能很好兼容,不想折腾,放弃。

2. 下次尝试新的架构:scrapy + scrapy-redis + mongodb + elasticsearch

时间: 2025-01-08 03:08:31

Mac自己搭建爬虫搜索引擎(nutch+elasticsearch是失败的尝试,改用scrapy+elasticsearch)的相关文章

ELK - MAC环境搭建

ELK - MAC环境搭建 本文旨在记录elasticsearch.logstash.kibana在mac下的安装与启动. 先决条件 java8 mac软件管理工具brew brew相关命令 # 安装软件 brew install your-software # 查看软件安装信息 brew info your-software # 管理服务,没怎么用它,ELK都有自己的启动脚本在安装目录的bin/下面,且基本上都会携带参数启动 brew services start/stop your-serv

2018.2最新-Scrapy+elasticSearch+Django打造搜索引擎(二)

请问您今天要来个引擎吗? 工欲善其事必先利其器 最终项目上线演示地址: http://search.mtianyan.cn 第二节:我们搞搞比利,搞搞环境的搭建.Github地址: https://github.com/mtianyan/ArticleSpider IDE: pycharm 数据库: mysql, redis, elasticsearch 开发环境 virtualenv 这次的数据库只介绍mysql,后面两个会放到要用到的章节. Pycharm的安装和使用 Pycharm在win

图文教程:在Mac上搭建Titanium的iOS开发环境

http://mobile.51cto.com/web-317170_all.htm 跨平台开发工具Titanium的兴起之路:HTML 5是最大威胁 比较Titanium和PhoneGap两大iOS移动应用开发框架 跨平台移动Web开发工具 Titanium Mobile简介 图文教程:在Windows 7上搭建Titanium Mobile开发环境 Titanium架构分析图文教程:在Mac上搭建Titanium的iOS开发环境,码迷,mamicode.com

【juincen】mac上搭建php环境

今天是2017年的8月20日,入职云南杜昂网络三天了,因为工作需要,所以看了下PHP,希望在以后能和大家交流学习. Apache是提供http服务的. 在mac上搭建php环境其实是非常简单的,不需要什么集成环境mamp(mac+apache+mysql+php).mac os系统自带了php和apache.我们调出终端工具,敲如下命令: php -v apachectl -v 可以看到我电脑上的php版本是5.6,apache的版本是2.4. 1.配置Apache 然后我们就要修改一个地方,我

Mac下搭建php开发环境[翻译]

原英文链接:http://www.codeweblog.com/mac-os-x-to-configure-apache-php-mysql/ Mac OS X 内置了Apache 和 PHP,这样使用起来非常方便.本文以Mac OS X 10.6.3为例.主要内容包括: 启动Apache 运行PHP 安装MySQL 使用phpMyAdmin 配置PHP的MCrypt扩展库 设置虚拟主机 启动Apache 有两种方法: 打开"系统设置偏好(System Preferences)" -&

MAC下搭建PHP/LNMP环境

MAC下搭建PHP/LNMP环境 由于Mac自带的PHP不支持PHP扩展.Mac自带apache不能优雅的install/remove.Mac自带的PHP版本比较陈旧.首先要做的就是升级PHP版本 工欲善其事必先利其器,安装Homebrew what?homebrew是OS X 不可或缺的套件管理器,类似于ubuntu下apt-get,Red hat的yum.传送门 : Homebrew安装简单 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubu

Mac中搭建 iOS 的 React Native 环境

手把手教你在Mac中搭建iOS的 React Native环境 http://www.cnblogs.com/damnbird/p/6074607.html 准备工作 1.你需要一台Mac电脑..(这不是废话?我所用的是Air~~穷..) 2.我所操作的电脑系统环境是 3.xcode版本:8.0正式版 必需的软件 1.Homebrew Homebrew, Mac系统的包管理器,用于安装NodeJS和一些其他必需的工具软件. 打开终端,执行 /usr/bin/ruby -e "$(curl -fs

在mac下搭建Apache服务器

Apache作为最流行的Web服务器端软件之一,它的优点与地位不言而喻.下面介绍下在mac下搭建Apache服务器的步骤: (1)"前往" –>"个人"" (2)在你的个人目录下新建一个文件夹,改名为"Sites"(改完后可见到文件夹中有个指南针的图标).注意要放在个人用户的文件夹下,因为它和桌面.文稿等文件夹一样是你私人的文件夹,这个文件夹用来专门给外部网络访问的. (3)打开终端,切换到apache2的目录,再输入ls可以看到

在mac下搭建java开发环境

刚刚从windows系统转到使用mac系统,感觉不是特别熟悉,需要一定的适应时间.下面简单介绍一下mac下搭建基本的java开发环境. 1.安装jdk 安装jdk1.7后,发现不需要进行环境变量配置,直接在terminal中就能使用java和javac命令了.jdk所在目录为: /Library/Java/JavaVirtualMachines 2.安装maven 解压maven包,然后配置maven环境变量 配置变了过程如下: 1.使用touch命令在-目录(用户目录)下创建.bash_pro