设为首页 收藏本站
查看: 1637|回复: 0

[经验分享] 【Nutch2.2.1基础教程之2.1】集成Nutch/Hbase/Solr构建搜索引擎之一:安装及运行【单机环境】

[复制链接]

尚未签到

发表于 2015-7-19 09:35:26 | 显示全部楼层 |阅读模式
  


  1、下载相关软件,并解压
  版本号如下:
  (1)apache-nutch-2.2.1
  (2) hbase-0.90.4
  (3)solr-4.9.0


  并解压至/usr/search
  


  2、Nutch的配置
  (1)vi /usr/search/apache-nutch-2.2.1/conf/nutch-site.xml
  


storage.data.store.class
org.apache.gora.hbase.store.HBaseStore
Default class for storing data


(2)vi /usr/search/apache-nutch-2.2.1/ivy/ivy.xml  
  默认情况下,此语句被注释掉,将其注释符号去掉,使其生效。
  

    default" />

(3)vi /usr/search/apache-nutch-2.2.1/conf/gora.properties  
  添加以下语句:
  gora.datastore.default=org.apache.gora.hbase.store.HBaseStore


  以上三个步骤指定了使用HBase来进行存储。
  以下步骤才是构建基本Nutch的必要步骤。
  (4)构建runtime
  cd /usr/search/apache-nutch-2.2.1/


  ant runtime
  (5)验证Nutch安装完成
  [iyunv@jediael44 apache-nutch-2.2.1]# cd /usr/search/apache-nutch-2.2.1/runtime/local/bin/

[iyunv@jediael44 bin]# ./nutch

Usage: nutch COMMAND

where COMMAND is one of:

inject         inject new urls into the database

hostinject     creates or updates an existing host table from a text file

generate       generate new batches to fetch from crawl db

fetch          fetch URLs marked during generate

parse          parse URLs marked during fetch

updatedb       update web table after parsing

updatehostdb   update host table after parsing

readdb         read/dump records from page database

readhostdb     display entries from the hostDB

elasticindex   run the elasticsearch indexer

solrindex      run the solr indexer on parsed batches

solrdedup      remove duplicates from solr

parsechecker   check the parser for a given url

indexchecker   check the indexing filters for a given url

plugin         load a plugin and run one of its classes main()

nutchserver    run a (local) Nutch server on a user defined port

junit          runs the given JUnit test

or

CLASSNAME      run the class named CLASSNAME

Most commands print help when invoked w/o parameters.


  


  (6)vi /usr/search/apache-nutch-2.2.1/runtime/local/conf/nutch-site.xml 添加搜索任务
  


http.agent.name
My Nutch Spider


(7)创建seed.txt  
  cd /usr/search/apache-nutch-2.2.1/runtime/local/bin/


  vi seed.txt
  http://nutch.apache.org/


  


  (8)修改网页过滤器  vi /usr/search/apache-nutch-2.2.1/conf/regex-urlfilter.txt
  vi /usr/search/apache-nutch-2.2.1/conf/regex-urlfilter.txt


  将
  # accept anything else

+.


  修改为
  # accept anything else

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


  


  


(9)增加索引内容

默认情况下,schema.xml文件中的core及index-basic中的field才会被索引,为索引更多的field,可以通过以下方式添加。

修改nutch-default.xml,新增以下红色内容



  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.

  



或者可以在nutch-site.xml中添加plugin.includes属性,并将上述内容复制过去。注意,在nutch-site.xml中的属性会代替nutch-default.xml中的属性,因此必须将原有的属性也复制过去。

  
  


  3、Hbase的配置
  (1)vi /usr/search/hbase-0.90.4/conf/hbase-site.xml
  





hbase.rootdir



hbase.zookeeper.property.dataDir




注:此步骤可不做。若不做,则使用hbase-default.xml(/usr/search/hbase-0.90.4/src/main/resources/hbase-default.xml)中的默认值。  
  默认值为:
  

  
hbase.rootdir
file:///tmp/hbase-${user.name}/hbase
The directory shared by region servers and into
which HBase persists.  The URL should be 'fully-qualified'
to include the filesystem scheme.  For example, to specify the
HDFS directory '/hbase' where the HDFS instance's namenode is
running at namenode.example.org on port 9000, set this value to:
hdfs://namenode.example.org:9000/hbase.  By default HBase writes
into /tmp.  Change this configuration else all data will be lost
on machine restart.

即默认情况下会放在/tmp目录,若机器重启,有可能数据丢失。  
  但是建议还是把这些属性做好配置,尤其是第二个关于zoopkeeper的,否则会导致各种问题。以下将目录配置在本地文件系统中。
  



hbase.rootdir
file:///home/jediael/hbaserootdir


hbase.zookeeper.property.dataDir
file:///home/jediael/hbasezookeeperdataDir


  注意,若无前缀file://,则默认是hdfs://
  但在0.90.4版本,默认还是本地文件系统。
  


  


  4、Solr的配置
  (1)覆盖solr的schema.xml文件。(对于solr4,应该使用schema-solr4.xml)
  cp /usr/search/apache-nutch-2.2.1/conf/schema.xml /usr/search/solr-4.9.0/example/solr/collection1/conf/
  (2)若使用solr3.6,则至此已经完成配置,但使用4.9,需要修改以下配置:
  修改上述复制过来的schema.xml文件
  删除:
  增加:
  


  5、启动抓取任务
  (1)启动HBase
  [iyunv@jediael44 bin]# cd /usr/search/hbase-0.90.4/bin/

[iyunv@jediael44 bin]# ./start-hbase.sh


  (2)启动Solr
  [iyunv@jediael44 bin]# cd /usr/search/solr-4.9.0/example/

[iyunv@jediael44 example]# java -jar start.jar


  (3)启动Nutch,开始抓取任务
  [iyunv@jediael44 example]# cd /usr/search/apache-nutch-2.2.1/runtime/local/bin/

[iyunv@jediael44 bin]# ./crawl seed.txt TestCrawl http://localhost:8983/solr 2




  大功告成,任务开始执行。
  


  关于上述过程的一些分析请见:
  集成Nutch/Hbase/Solr构建搜索引擎之二:内容分析


  http://blog.iyunv.com/jediael_lu/article/details/37738569


  


  


使用crontab来设置Nutch的例行任务时,出现以下错误

JAVA_HOME is not set。

于是创建了一个脚本,用于执行抓取工作:

#!/bin/bash
export JAVA_HOME=/usr/java/jdk1.7.0_51
/opt/jediael/apache-nutch-2.2.1/runtime/local/bin/crawl /opt/jediael/apache-nutch-2.2.1/runtime/local/urls/ mainhttp://localhost:8080/solr/ 2 >> ~jediael/nutch.log

然后再配置例行任务

30 0,6,8,10,12,14,16,18,20,22 * * * bash /opt/jediael/apache-nutch-2.2.1/runtime/local/bin/myCrawl.sh






  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-88157-1-1.html 上篇帖子: solr中竞价排名实现 下篇帖子: tomcat7设置访问solr地址限制的问题
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表