基于hadoop+nutch+solr的搜索引擎环境搭载<二>nutch+solr整合以及搭载在hadoop上
官方文档:nutch+hadoop
版本:
nutch:nutch1.6
solr: solr3.6.2
可以参照hadoop1.0.4+nutch1.6“单机”配置
一,ant编译nutch
下载apache-nutch-1.6-src.tar.gz,解压之。
在nutch1.6/conf下
先修改 nutch-default.xml中http.agent.name和http.robots.agents,value值随意,但是要保持一致
<name>http.agent.name</name> <value>sleeper_qp</value> <description>HTTP 'User-Agent' request header. MUST NOT be empty - please set this to a single word uniquely related to your organization. NOTE: You should also check other related properties: http.robots.agents http.agent.description http.agent.url http.agent.email http.agent.version and set their values appropriately. </description> </property> <property> <name>http.robots.agents</name> <value>sleeper_qp</value> <description>The agent strings we'll look for in robots.txt files, comma-separated, in decreasing order of precedence. You should put the value of http.agent.name as the first agent name, and keep the default * at the end of the list. E.g.: BlurflDev,Blurfl,* </description> </property>
然后
cp nutch-default.xml nutch-site.xml
在nutch1.6下ant编译
二,测试nutch
启动hadoop,新建,上传urls.txt
~/hadoop-1.0.4$ bin/start-all.sh ~/hadoop-1.0.4$ touch urls.txt 在urls.txt写入你想爬的网站 ~/hadoop-1.0.4$ bin/hadoop fs -mkdir urls ~/hadoop-1.0.4$ bin/hadoop fs -put urls.txt urls/
添加hadoop的环境变量
修改~/.bashrc:
export HADOOPHOME=/home/hadoop/hadoop
export PATH=$PATH:$HADOOPHOME/bin
说明:直接输入hadoop的命令可能会有警告,这是因为hadoop自身也配置了自己的路径(在HADOOP_HOME/bin/hadoop-config.sh)
在nutch/runtime/deploy下输入
~/nutch1.6/runtime/deploy$ bin/nutch crawl urls -dir crawl -depth 3 -topN 3
解释
-dir是爬取内容存放的文件 -depth 爬取深度 -topN
完成后可查看hdfs
输入hadoop fs -ls查看新的crawl文件夹
三,安装solr
下载解压solr3.6.2
修改NUTCH_HOME/conf下的schema.xml
<field name="content" type="text" stored="true" indexed="true"/>
拷贝NUTCH_HOME/conf下的schema.xml到solr/example/solr/conf/下
然后solr/example/solr/conf/下的solrconfig.xml中的str name="df"后的text全部改为content PS:因为版本的变更,默认值有text该为了content
在{APACHE_SOLR_HOME}/example下输入:
java -jar start.jar
四,整合测试
保证正确,重启hadoop(删除前面的hdfs中的crawl),重启solr
在浏览器下查看相关信息:
在~/nutch1.6/runtime/deploy下输入
bin/nutch crawl urls -solr http://localhost:8983/solr -dir crawl -depth 1 -topN 1
在正确运行的情况下,可以在http://localhost:8983/solr/admin/ 输入你先前爬取网站的相关内容,可以得到一个xml格式的结果
posted on 2013-05-06 15:43 sleeper_qp 阅读(3012) 评论(0) 编辑 收藏 举报