您的位置:首页 > 运维架构

nutch1.3+hadoop0.20.2+solr3.2搭建

2011-08-20 21:20 288 查看


一 简介

1 Nutch 是一个开源Java 实现的搜索引擎。它提供了我们运行自己的搜索引擎所需的全部工具。包括全文搜索和Web爬虫。
Nutch 致力于让每个人能很容易, 同时花费很少就可以配置世界一流的Web搜索引擎. Nutch必须能够做到:
  * 每个月取几十亿网页

  * 为这些网页维护一个索引

  * 对索引文件进行每秒上千次的搜索

  * 提供高质量的搜索结果

  * 以最小的成本运作

2 Hadoop 一个分布式系统基础架构,由Apache基金会开发。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力高速运算和存储。Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有着高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上。而且它提供高传输率(high
throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求(requirements)这样可以流的形式访问(streaming access)文件系统中的数据。

Hadoop是项目的总称,起源于作者儿子的一只玩具大象的名字。主要是由HDFS、MapReduce和Hbase组成。  

HDFS是Google File System(GFS)的开源实现。  

MapReduce是Google MapReduce的开源实现。  

HBase是Google BigTable的开源实现。

3 Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http Get操作提出查找请求,并得到xml格式的查询结果。


二 hadoop0.20.2安装

1、选好机器,建好用户,打通各机器用户之间ssh免密码登入通道
2、在选择的所有机器上的 /etc/hosts上写好所有选择的机器的ip 主机名,
3、在所有机器上,安装好java1.6,配置好java环境变量
4、在namenode机器上,获取hadoop0.20.2安装包,解压安装到~/hadoop目录,

5、~/hadoop/conf配置参数设置:
masters:备namenode机器ip或主机名

slaves:datanode机器ip或主机名列表,一行一个

hdfs-site.xml:

<property>

<name>dfs.http.address</name>

<value>ip:port1</value>

<description>

The address and the base port where the dfs namenode web ui will listen on.

If the port is 0 then the server will start on a free port.

</description>

</property>

mapred-site.xml:

<property>

<name>mapred.job.tracker.http.address</name>

<value>ip:port2</value>

<description>

The job tracker http server address and port the server will listen on.

If the port is 0 then the server will start on a free port.

</description>

</property>
6 hadoop-env.sh设置好java安装目录,
7 确保配置的相关端口没被占用

8 将hadoop目录拷贝到所有选择的其他机器的用户目录中

9 ./bin/stop-all.sh

10 hdfs-site.xml


<property>

<name>dfs.data.dir</name>

<value>${hadoop.tmp.dir}/dfs/data</value>

</property>

<property>

<name>dfs.name.dir</name>

<value>${hadoop.tmp.dir}/yl_dfs/</value>

</property>

每次重启前删掉对应目录

11 ./bin/hadoop namenode -format

12 ./bin/start-all.sh


13 遇到问题,看log日志,google解决


三 nutch1.3安装

1、在namenode机器的用户目录下,从nutch1.3分支直接拉:
svn co http://svn.apache.org/repos/asf/nutch/branches/branch-1.3/ ~/nutch
[b]2、重新编译:

[/b]
修改~/nuch/ivy/nutch-site.xml 可用的maven地址
<property name="repo.maven.org"

value="http://mirrors.ibiblio.org/pub/mirrors/maven2/"

override="false"/>

3、切换到~/nuch/conf,设置nutch-site.xml
<property>

<name>http.agent.name</name>

<value>nutchspider_yl</value>

</property>

<property>

<name>http.robots.agents</name>

<value>nutchspider_yl,*</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>

<property>

<name>mapreduce.job.jar.unpack.pattern</name>

<value>(?:classes/|lib/|plugins/).*</value>

</property>

<property>

<name>plugin.folders</name>

<value>${job.local.dir}/../jars/plugins</value>

</property>

4、将nutch目录拷贝到所有选择的机器用户目录中

5、统一配置文件管理:

在所有选择的机器上,将hadoop/conf下的配置拷贝到nutch/conf下,mv hadoop/conf hadoop/conf_bak,
ln -s hadoop/conf nuch/conf


四 sorl3.2安装

1、比较简单 ,namenode上获取软件包,解压安装到~/solr目录下
2、切换到~/solr/example下,启动服务 java -jar start.jar,默认启动端口是8983


五 网页抓取和建立索引

1、在本地磁盘中新建一个文件,写入一个入口 url ,然后将其复制到 HDFS 中 :

~/hadoop/bin/hadoop fs -copyFromLocal urls hdfs_path/urls.txt

2、配置相关爬取过滤匹配规则
根据需求设置~/nucht/conf下的automaton-urlfilter.txt domain-urlfilter.txt
prefix-urlfilter.txt regex-urlfilter.txt suffix-urlfilter.txt

3、网页爬取
~/nutch/src/bin/nutch crawl hdfs_path/urls.txt -solr http://ip:8983/solr/ -dir hdfs_path/crawled -depth 3 -topN 10

4、建立索引
~/nutch/src/bin/nutch solrindex http://ip:8983/solr/ hdfs_path/crawled/crawldb/ hdfs_path/crawled/linkdb/ -dir hdfs_path/crawled/segments/

生成的index在~/solr/example/solr/data/index/下面

5、通过页面http://ip:8983/solr/admin/可以进行查询搜索

参考
http://blog.csdn.net/Mylady58/article/details/5891190

http://wenku.baidu.com/view/f12c4e94dd88d0d233d46ac2.html

http://blog.building-blocks.com/2011/01/building-a-search-engine-with-nutch-and-solr-in-10-minutes
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: