linux环境nutch的配置,[Linux] Nutch 2.3.1+ Hbase + Hadoop + Solr 单机指南(四)

这是本指南的最后一篇,从开始做到完成,本熊花了一周的时间,碰到的错误也可谓千奇百怪。

纯初学者说明模式

本章节主讲实现本地模式

Nutch的配置与编译

Nutch与Hadoop,Hbase,Solr的集成

Nutch的启动与结果查看

0.初期设置说明

路径说明

本熊假设Hadoop的主目录为HadoopPath,Hbase的主目录为HbasePath,Nutch的主目录为NutchPath,Solr的主目录为SolrPath

以下是本熊的解压位置:

HadoopPath的值就是 /usr/Dzy/hadoop-2.5.2

HbasePath的值就是 /usr/Dzy/hbase-0.98.8-hadoop2

NutchPath的值就是 /usr/Dzy/apache-nutch-2.3.1

SolrPath的值就是 /home/as/下载/solr-4.10.3

各位可以按照自己的路径进行设置,本熊再次只为说明方便

使用版本说明

就如同本熊在第一期中提到的,要选择正确的相互适应兼容的版本,会帮您省去大堆不必要的麻烦,减少脱发,改善睡眠,提高生活质量

Apache Nutch 2.3.1

Apache Hadoop 1.2.1 and 2.5.2

Apache HBase 0.98.8-hadoop2 (although also tested with 1.X)

Apache Solr 4.10.3

Apache Tomcat(可选,版本随意,用于集成solr)

1.Nutch的配置与编译

此处的配置只在local模式中测试成功,deploy模式还未进行测试

在NutchPath目录下,把/ivy文件夹中修改ivy.xml文件,将以下内容的注释取消(将包含此代码段开头 ````消除即可)

这是将Nutch的默认的结果存储方式变更为Hbase

在NutchPath目录下,把/conf文件夹中修改nutch-site.xml

文件,在标签中添加以下设置

storage.data.store.class

org.apache.gora.hbase.store.HBaseStore

Default class for storing data

http.agent.name

My Nutch Spider

plugin.includes

protocol-http|urlfilter-regex|parse-(html|tika)|index-(basic|anchor)|urlnormalizer-(pass|regex|basic)|scoring-opic|index-anchor|index-more|languageidentifier|subcollection|feed|creativecommons|tld

Regular expression naming plugin directory names to

include. Any plugin not matching this expression is excluded.

In any case you need at least include the nutch-extensionpoints plugin. By

default Nutch includes crawling just HTML and plain text via HTTP,

and basic indexing and search plugins. In order to use HTTPS please enable

protocol-httpclient, but be aware of possible intermittent problems with the

underlying commons-httpclient library.

这三个property分别指的是Nutch的默认存储类型,爬虫的名字,和插件库的位置,如果错误中出现job-XXXXX的情况,那就是没有配置好插件库property

在相同目录下,修改regex-urlfilter.txt,将最后部分修改为

# accept anything else

#+.

+^http://([a-z0-9].)nutch.apache.org/

这里写的是抓取过滤的正则表达式,各位可以按各自所需修改

网上有些说也要修改nutch-default.xml,其实没有这个必要,若在nutch-site.xml存在配置,会优先选择其中的属性

在相同目录下修改gora.properties文件,添加以下配置,确保存储在Hbase上

gora.datastore.default=org.apache.gora.hbase.store.HBaseStore

在NutchPath目录下,在/usr/Dzy/apache-nutch-2.3.1/runtime/local/文件下创建urls文件夹

在urls文件夹中创建seed.txt,在其中输入

http://nutch.apache.org/

这里存放的是Nutch要爬取的网页

在NutchPath路径下,启动终端,输入以下命令,开始Ant编译

ant runtime

编译完成后目录结构是这样的,多出来一个runtime

813d3ded87bb

目录结构

最后一步就是,将Nutch数据保存到Hbase的jar包存到local内

HadoopPath下/lib中所有与hbase有关的jar包

复制到NutchPath目录下的/runtime/local/lib中

813d3ded87bb

所需要的jar

至此Nutch的准备工作就算完成了

2.Nutch启动

如果一步不差的完成了本熊指南前三期的准备工作,那就接下来就是按顺序启动服务了

启动Solr

在TomcatPath目录下执行以下命令,启动Solr

bash startup.sh

启动Hadoop

在HadoopPath下,在终端输入以下命令,启动Hadoop

bash ./sbin/start-all.sh

启动Hbase

在HbasePath目录下,启动终端输入

bash ./bin/start-hbase.sh

启动Nutch

在NutchPath下,输入以下指令

cd /usr/Dzy/apache-nutch-2.3.1/runtime/local

./bin/crawl /usr/Dzy/apache-nutch-2.3.1/runtime/local/urls NutchTable http://localhost:8080/solr/collection1 2

这段指令的参数的意义:

urls位置---

*/usr/Dzy/apache-nutch- 2.3.1/runtime/local/urls *

Hbase中创建的表名---

NutchTable

SolrCore的位置---

迭代次数---

2

以上参数可以按照自己的需要调整,可以参考Apache Nutch的说明文档

如果一切OK的话,会出现以下状态,如果injectjob时间极长时可以检查一下Hbase版本配置

813d3ded87bb

启动画面

最后参照之前的关于solr步骤与Hbase的步骤,可以在solr中看见查询的结果

813d3ded87bb

solr中查询结果

local实验完成,这个实验只是简单的单机配置,若想要更加深入的了解Nutch的工作原理,可以在ant编译部分输入以下指令

ant eclipse

这样可以在eclipse中加载Nutch项目,可以在这基础上做更贴近开发者自身想法的改进

第四期结束

到此为止,本熊把全部的实验过程都记录了下来,后在小Y的电脑上也试验成功了。累得本熊玩了好几天,但是本熊也很好奇,如何转化这些抓取的资源呢?也许这是向小Y这样的学术派才会考虑的问题,本熊只是俗熊,常常苦恼在三餐选什么,总之愿本文能对各位起到小小的帮助

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值