- 浏览: 249933 次
- 性别:
- 来自: 苏州
文章分类
- 全部博客 (289)
- java (72)
- oracle (3)
- mysql (5)
- spring (28)
- hibernate (2)
- osgi (0)
- linux (2)
- ExtJs (1)
- jvm (0)
- mybatis (7)
- 分布式 (11)
- MINA (6)
- apache+tomcat (13)
- js+htm (7)
- android (44)
- http (1)
- hbase+hdoop (0)
- memcache (13)
- search (27)
- 部署及性能 (12)
- mongoDB (2)
- 多线程 (12)
- 安全管理验证 (9)
- struts (1)
- webservice (0)
- easyUI (1)
- spring security (16)
- pattern (6)
- 算法 (2)
最新评论
-
lzh8189146:
CommonsHttpSolrServer这个类,现在是不是没 ...
CommonsHttpSolrServer -
xiaochanzi:
我按照你的方法试了下,tomcat6可以发布,但是访问任何网页 ...
基于内嵌Tomcat的应用开发 -
phoneeye:
麻烦你,如果是抄来的文章,请给出来源。谢谢
ant 两则技巧 -
neverforget:
转载不注明出处
Spring Security3.1登陆验证 替换 usernamepasswordfilter -
liang1022:
若不使用eclipse ,如何在命令行下 运行服务端程序 ?
WebService CXF学习(入门篇2):HelloWorld
转载:http://blog.sina.com.cn/s/blog_56fd58ab0100vwmh.html
需求:
- 实现SOLR主,辅服务器更新同步,每次客户端COMMIT请求都会及时应用在辅服务器上。
- 实现MULTICORE,实际生产环境中往往会有多个搜索应用实例。
步骤:
一、 准备条件
- 服务器准备
准备两台服务器:
一台用作主服务器(192.2.0.36),负责分发索引
另一台负责辅服务器(192.2.0.46),负责承载搜索服务。
2. 软件环境
Linux版本不限,32,64位不限
应用容器:TOMCAT 6.0
JAVA版本:JDK1.6以上版本
Solr应用环境目录: /solr/video/ (可使用ln –s 创建软连接) 和 /solr/album/
(本例设定为两个应用:实际情况可自由增减 )
Solr索引目录:/solr/data/album 和 /solr/data/video
3. 划分应用
本例中划分两个应用 专辑 album 和 视频 video
4. 基础目录创建(主,辅均需配置)
a) 在 /solr/ 应用环境目录下创建两个目录:album 和 video
b) 分别将SOLR安装目录下Solr/example/solr/conf文件夹至这两个目录
c) 分别复制安装目录solr/src/scripts文件夹至 album 和 video目录,并将script改名为bin(后续要用到)
d) 按照特定需求分别修改索引字段结构文件: schema.xml(有关此文件的配置不再撰述)
e) 复制 Solr/example/multicore 下的solr.xml文件至 应用环境根目录:/solr/
f) 创建索引目录 /solr/data/album 和 /solr/data/video
二、 配置MULTICORE(主,辅均需配置)
划分业务类型,如做一个视频搜索引擎需要专辑和视频两大应用,则:
1) 配置SOLR业务类型:在 /solr/下 编辑solr.xml文件
<core name="core0" instanceDir="core0" />
<core name="core1" instanceDir="core1" />
-
-
- 修改为
-
<core name="album" instanceDir="album" />
<core name="video" instanceDir="video" />
2) 指定索引目录,进入/solr/album/conf目录,打开编辑器修改solrconfig.xml,找到<dataDir> 节点,将真正的目录“/solr/data/album”替换掉原有数据。(视频应用步骤与此相同。)
三、 配置分布式应用(以下均在主服务器上配置)
1) 分别修改分布式分发脚本: scripts.conf
(/solr/album/bin 和 /solr/video/bin)
#触发外部命令所使用的用户
user=haiting
#本地机器名
solr_hostname=localhost
#本地SOLR开放的端口(及TOMCAT服务端口)
solr_port=9001
#分发脚本使用的RSYNC服务端口,业务端口要区分开,在本例中,album为19001,video为19002,客户端与服务端端口设置需一致,否则会导致SNAPPULLER过程失败。
rsyncd_port=19001
#索引文件路径
data_dir=/solr/data/album
#TOMCAT容器中SOLR服务名(默认不变)
webapp_name=solr
#主服务器IP(主与辅同配置)
master_host=192.168.0.46
#主服务器索引文件路径
master_data_dir=/solr/data/album
#主服务器状态过程日志存放目录
master_status_dir=/solr/status/album
2) 修改脚本所在默认路径
(通过修改scripts-util公用脚本实现)
l 找到该文件所在路径:/solr/album/bin和/solr/video/bin
l 第27行
confFile=${solr_root}/conf/scripts.conf
修改为:
confFile=/solr/bin/album/conf/scripts.conf
和
confFile=/solr/bin/video/conf/scripts.conf
注明:不进行此步骤会造成SOLR外部调用监听器执行会失败(/solr/)
3) 修改主配置文件solrconfig.xml
l 找到以下目录:/solr/album/conf和 /solr/video/conf
l 分别修改两个应用的 COMMIT监听器,使得SOLR接收到COMMIT请求时,自动调用外部命令snappuller
找到 postCommit 节点,配置后的节点如下所示:
<listener event="postCommit" class="solr.RunExecutableListener">
<str name="exe">/solr/video/bin/snapshooter</str>
<str name="dir">.</str>
<bool name="wait">true</bool>
<arr name="args"> <str>-d</str> <str>/solr/data/video</str> </arr>
<arr name="env"> <str>MYVAR=val1</str> </arr>
</listener>
注明:每一个应用对应的配置文件都需要配置,包括外部命令的目录.
四、 配置、执行分发脚本
1. 主服务器
1) 启动SOLR
2) 启用RSYNC
手工执行脚本:
/solr/video/bin/rsyncd-enable –v
说明:-v终端打印执行详细日志
3) 开启RSYNC
/solr/video/bin/rsyncd-start –v
2. 客户端
推荐使用SolrJ(目录位于/solr/src/solrj)
a) 将SOLR接收URL改为:http://127.0.0.1:9001/solr/video
(或http://192.168.0.36:9001/solr/album )
b) 执行发送命令,将数据推送至主服务器
3. 辅服务器
a) 配置清理脚本
l su haiting
l crontab –e
l 0 0 * * * /solr/album/bin/snapcleaner -D 7
l 0 0 * * * /solr/video/bin/snapcleaner -D 7
l Wq!
说明:系统每7天调用一次清理脚本,清理不用的快照
b) 启用快照
手动执行
/solr/video/bin/snappuller-enable -v
c) 获取并安装快照
l 配置cron
l su haiting
l crontab –e
l */5 * * * * /solr/video/bin/snappuller;/solr/video/bin/snapinstaller
l */5 * * * * /solr/album/bin/snappuller;/solr/album/bin/snapinstaller
l wq!
说明:系统每五分钟调用一次smappuller和snapinstaller,及每五分钟生效一次。
本文补充: 因SOLR的复制分发模式所需要的脚本没有考虑到 MULTICORE模块存在,所以在两种并行的情况下会造成快照安装失败,报 logMessage snapshot installed but Solr server has not open a new Searcher 错误。 具体修改方法: 在/solr/album/bin 和 /solr/video/bin 下修改commit文件,将第三页中的 curl_url=http://${solr_hostname}:${solr_port}/${webapp_name}/update 修改成 curl_url=http://${solr_hostname}:${solr_port}/${webapp_name}/album/update 保存即可。
发表评论
-
提高nutch爬取效率
2012-06-08 12:47 918提高nutch爬取效率 分类 ... -
CommonsHttpSolrServer
2012-03-28 09:31 2047CommonsHttpSolrServer ... -
利用SOLR搭建企业搜索平台 之十(数据库数据导入到solr)
2012-03-28 09:31 731利用SOLR搭建企业搜索平台 之十(数据库数据导 ... -
利用SOLR搭建企业搜索平台 之九(solr的查询语法)
2012-03-28 09:31 805利用SOLR搭建企业搜索平台 之九(solr的查 ... -
利用SOLR搭建企业搜索平台 之八(solr 实现去掉重复的搜索结果,打SOLR-236_collapsing.patch补丁)
2012-03-28 09:31 965引用Bory.Chanhttp://blog.chenlb.c ... -
利用SOLR搭建企业搜索平台 之五(solrj)
2012-03-27 14:59 835利用SOLR搭建企业搜索平台 之五(solrj) ... -
Solr solrconfig.xml的翻译
2012-03-13 08:23 878Solr solrconfig.xml的翻译 ... -
使用Apache Solr对数据库建立索引
2012-03-13 08:23 828使用Apache Solr对数据库建立索引 ( ... -
解决DataImportHandler从数据库导入大量数据而内存溢出的问题
2012-03-13 08:23 894解决DataImportHandler从数据库导入大 ... -
Solr 创建索引的原理 源码分析
2012-03-13 08:24 1129Solr 创建索引的原理 源码分析 (2011 ... -
Solr Replication (复制) 索引和文件的工作机制
2012-03-13 08:24 781Solr Replication (复制) 索引和文 ... -
Solr 查询中fq参数的解析原理
2012-03-14 08:13 820Solr 查询中fq参数的解析原理 (2011- ... -
Solr 分词器(analyzer)是怎么传到Luence的
2012-03-14 08:13 1065Solr 分词器(analyzer)是怎么传到Lue ... -
Solr 删除数据的几种方式
2012-02-22 08:40 985转载:Solr 删除数据的几种方式 发表于:2010 ... -
Solr Data Import 快速入门
2012-02-26 12:12 803转载:Solr Data Import 快速入门 发 ... -
使用 solr php 的输出
2012-02-22 08:41 824转载:使用 solr php 的输出 发表于:200 ... -
Solr Multicore 结合 Solr Distributed Searching 切分大索引来搜索
2012-02-26 12:13 763Solr Multicore 结合 Solr Dist ... -
Solr Multicore 试用小记
2012-02-26 12:13 731Solr Multicore 试用小记 转载: ... -
Solr1.4.0源码分析二 Solr分布式搜索中URL的正确用法和原理
2012-02-26 12:13 935Solr1.4.0源码分析二 Solr分布式搜索 ... -
lucene应用
2012-02-19 13:24 674转载:http://sacredlove.itey ...
相关推荐
solr 分布式 部署,介绍了Solr的分布式部署的需求,步骤,配置、执行分发脚本等。
ZooKeeper实例 + Solr(tomcat)集群部署
由于早期项目的客户服务器重新规划,原来部署应用的员工已离职且部署文档不完整,所以用三个虚机节点搭了简单的Hadoop+Hbase+Solr的环境并形成部署步骤文档给运维人员参考,有兴趣的可以下载一下,以上。
1. 积分商城现状 2. 搜索领域知识、原理、应用 3. Solr简介、部署及中文分词 4. SolrJ项目中应用 5. Solr分布式应用 6. 大型网站架构分析
solr是将整个索引操作功能封装好了的搜索引擎系统(企业级搜索引擎产品) ,可以部署到单独的服务器上(WEB服务),它可以提供服务,我们的业务系统就只要发送请求...solr支持分布式集群,索引服务的容量和能力可以线性扩展
大型电商项目实战:Solr+FastDFS+Zookeeper+Freemarker+Quartz+SpringMVC+Mybatis集群分布式部署在线电商项目,高并发,高可用,高高负载有响应的解决方案,对于自己的技术水平拔高有很大的促进作用,
SolrCloud是Solr4.0版本以后基于Solr和Zookeeper的分布式搜索方案。SolrCloud是Solr的基于Zookeeper一种部署方式。Solr可以以多种方式部署,例如单机方式,多机Master-Slaver方式。
——分布式搜索性能 ——许多Lucene和其他性能的改进 ——支持在单个部署中的多级索引 ——SolrJ客户端和一个二元响应协议,支持更快的客户端-服务器通信 ——搜索组件可以被组成链式结构,用来提供更灵活的查询...
SolrCloud是Solr4.0版本开发出的具有开创意义的基于Solr和Zookeeper的分布式搜索方案,或者可以说,SolrCloud是Solr的一种部署方式。Solr可以以多种方式部署,例如单机方式,多机Master-Slaver方式,这些方式部署的...
基于ssm构建项目,用dubbo实现分布式开发部署,用zookeeper作为dubbo注册中心,用redis作为缓存,用solr实现搜索引擎,便于分布式整合入门教程,新手更是值得拥有,文件是百度云链接如果失效可以加我qq索取,文件内有我...
以参看:SolrCloud 分布式部署。它的主要特性包括:高效、灵活的缓存功能,垂直搜索功 能,Solr 是一个高性能,采用 Java5 开发,基于 Lucene 的全文搜索服务器。同时对其进行 了扩展,提供了比 Lucene 更为丰富的...
淘淘商城是一个综合性的B2C平台,类似与京东、天猫商城,其打造的是商业模式为“社区+电子商务”, 用户不只是...分布式部署架构讲解以及实施 分组实战 + 项目总结以及就业指导 拔高--Redis集群、Tomcat优化、MySQL优化
8.1 使用Solr实现分布式搜索 232 8.1.1 Solr服务器端的配置与中文支持 232 8.1.2 把数据放进Solr 237 8.1.3 删除数据 240 8.1.4 客户端搜索界面 241 8.1.5 Solr索引库的查找 242 8.1.6 索引分发 246 8.1.7 Solr搜索...
SolrCloud(solr 云)是Solr提供的分布式搜索方案,当你需要大规模,容错,分布式索引和检索能力时使用 SolrCloud。此文档参考培训机构资料,适合初学者参考使用。
149 Solr 全文搜索引擎-Solr 服务器部署 150 Solr 全文搜索引擎-Solr 配置字段域 151 Solr 全文搜索引擎-Solr 维护功能 152 Solr 全文搜索引擎-Solr 查询与高亮显示 153 Solr 全文搜索引擎-Spring Boot 集成 Solr ...
149 Solr 全文搜索引擎-Solr 服务器部署 150 Solr 全文搜索引擎-Solr 配置字段域 151 Solr 全文搜索引擎-Solr 维护功能 152 Solr 全文搜索引擎-Solr 查询与高亮显示 153 Solr 全文搜索引擎-Spring Boot 集成 ...
垂直化的搜索引擎在分布式系统中的使用,包括搜索引擎的基本原理、Lucene详细的使用介绍,以及基于Lucene的开源搜索引擎工具Solr的使用。 2.1 分布式缓存 60 2.1.1 memcache简介及安装 60 2.1.2 memcache ...
08.第八天(solr服务器搭建、搜索功能实现) 09.第九天(商品详情页面实现) 10.第十天(单点登录系统实现) 11.第十一天(购物车+订单) 12.第十二天(系统架构讲解、nginx) 13.第十三天(生产环境搭建、系统部署) 14.第十四...