solr分布式配置之索引复制(原创)
来源:互联网 发布:淘宝助理属性不一致 编辑:程序博客网 时间:2024/05/22 16:32
solr的索引复制:将索引从主服务器上复制到多个服务器上.
索引复制原因:当有很多个客户并发访问某Solr服务器,这可能会导致Solr服务器崩溃(Solr服务器性能达不到这些客户并发访问的需求),这时就需要通过solr索引复制来减少对服务器的性能要求。
下面介绍一下主从服务器的最简单配置(如下配置在项目中已经通过验证):
我的环境:solr master(10.148.73.83), solr slave(10.148.74.72), jdk 1.6.0_13, master(apache-tomcat-6.0.28), slave(apache-tomcat-6.0.29), apache-solr-3.6.0
先将solr与tomcat进行整合,可以参考solr3.6与tomcat的整合
配置主服务器solr Master(10.148.73.83), 在solrconfig.xml中增加以下内容
backupAfter:SOLR会自行在以下操作行为发生后执行备份索引: 'commit', 'startup', 'optimize',该值可以填多个
numberToKeep:指定备份多少份文件,默认值为 MAX_VALUE
confFiles : 待分发的配置文件,solr 也会将主服务器上的字段配置文件:schema.xml和stopwords.txt,固排文件: elevate.xml同步到辅服务器上。
pollInterval:从服务器同步间隔,即每隔多长时间同步一次主服务器,格式为HH:mm:ss . 如果该设置为空从索引将不会主动从主索引同步索引.另外拉取索引的请求也可以通过 admin 页面或者 http api 来触发
compression:在索引传输过程中使用压缩,可选的值有两个 internal 和 external
如果值是 'external' 请确保主索引的solr已经设置了accept-encoding header
如果值是 'internal' 索引数据将被自动压缩,这个主要在低带宽情况下使用,局域网中请不要使用,局域网中使用会降低复制效率
httpConnTimeout:设置连接超时(单位:毫秒)
httpReadTimeout:设置读取超时,如果设置同步索引文件过大,则应适当提高此值。(单位:毫秒)
httpBasicAuthUser:验证用户名,需要和主服务器一致
索引复制原因:当有很多个客户并发访问某Solr服务器,这可能会导致Solr服务器崩溃(Solr服务器性能达不到这些客户并发访问的需求),这时就需要通过solr索引复制来减少对服务器的性能要求。
下面介绍一下主从服务器的最简单配置(如下配置在项目中已经通过验证):
我的环境:solr master(10.148.73.83), solr slave(10.148.74.72), jdk 1.6.0_13, master(apache-tomcat-6.0.28), slave(apache-tomcat-6.0.29), apache-solr-3.6.0
先将solr与tomcat进行整合,可以参考solr3.6与tomcat的整合
配置主服务器solr Master(10.148.73.83), 在solrconfig.xml中增加以下内容
<requestHandler name="/replication" class="solr.ReplicationHandler" > <lst name="master"> <str name="replicateAfter">commit</str> <str name="replicateAfter">optimize</str><str name="backupAfter">optimize</str><int name="numberToKeep">2</int><str name="confFiles">schema.xml,stopwords.txt,elevate.xml</str> <str name="commitReserveDuration">00:00:30</str> <str name="httpBasicAuthUser">admin</str> <str name="httpBasicAuthPassword">admin</str></lst> </requestHandler>replicateAfter : SOLR会自行在以下操作行为发生后执行复制: 'commit', 'startup', 'optimize',该值可以填多个
backupAfter:SOLR会自行在以下操作行为发生后执行备份索引: 'commit', 'startup', 'optimize',该值可以填多个
numberToKeep:指定备份多少份文件,默认值为 MAX_VALUE
confFiles : 待分发的配置文件,solr 也会将主服务器上的字段配置文件:schema.xml和stopwords.txt,固排文件: elevate.xml同步到辅服务器上。
commitReserveDuration: 每次commit之后,保留增量索引的周期时间,这里设置为30秒。
<requestHandler name="/replication" class="solr.ReplicationHandler" > <lst name="slave"> <str name="masterUrl">http://10.148.73.83:8080/solr/replication</str> <str name="pollInterval">00:00:30</str> <!-- 以下参数不常用,非必填参数--> <str name="compression">internal</str> <str name="httpConnTimeout">100000</str> <str name="httpReadTimeout">1000000</str> <str name="httpBasicAuthUser">admin</str> <str name="httpBasicAuthPassword">admin</str> </lst> </requestHandler>masterUrl : 主索引的url,该从索引将从这个主索引地址同步索引
pollInterval:从服务器同步间隔,即每隔多长时间同步一次主服务器,格式为HH:mm:ss . 如果该设置为空从索引将不会主动从主索引同步索引.另外拉取索引的请求也可以通过 admin 页面或者 http api 来触发
compression:在索引传输过程中使用压缩,可选的值有两个 internal 和 external
如果值是 'external' 请确保主索引的solr已经设置了accept-encoding header
如果值是 'internal' 索引数据将被自动压缩,这个主要在低带宽情况下使用,局域网中请不要使用,局域网中使用会降低复制效率
httpConnTimeout:设置连接超时(单位:毫秒)
httpReadTimeout:设置读取超时,如果设置同步索引文件过大,则应适当提高此值。(单位:毫秒)
httpBasicAuthUser:验证用户名,需要和主服务器一致
httpBasicAuthPassword:验证密码,需和主服务器一致
注:从服务器可以有多个,多个从服务器的配置相同
至此solr的索引复制的配置工作就完成了。现在可以启动两个服务器,通过http://10.148.73.83:8080/solr/admin/replication/查看到主服务器的复制页面的控制页面
通过http://10.148.74.72:8080/solr/admin/replication/查看到从服务器的复制页面的控制页面
- solr分布式配置之索引复制(原创)
- solr 分布式(复制)配置
- Solr的分布式复制
- solr学习第四课------solr主从配置索引的主从复制
- Solr索引复制(Index Replication)
- 分布式Solr 配置
- solr之建立索引
- Solr之维护索引。
- Solr之查询索引。
- Solr分布式索引过程源码解析
- solr一致性hash个分布式索引
- Solr分布式索引SolrCloud原理总结
- Solr分布式索引SolrCloud原理总结
- 分布式solr-cloud之solr部署
- solr一些索引配置介绍
- 全文索引----配置solr数据源
- Solr之索引MySQL数据库
- 【solr基础教程之二】索引
- 关于字母不换行的问题【鸡蛋】
- MYSQL常用命令
- flash学习资料整理
- VIM参考手册
- java.lang.NoSuchMethodException: org.apache.catalina.deploy.WebXml addServlet
- solr分布式配置之索引复制(原创)
- scrollview 内容重用小demo(懒人专用哈)
- Mastering Regular Expression 代码介绍 2 - HTML 格式转换
- Quartz Core 图层编程
- 我要开始写C#和JAVA自学日记了
- Javascript在页面加载时的执行顺序
- APEX 3.2上Interactive Report 的表头复制(1)(APEX4.1下运行通过)
- javaScript对象
- wse 2.0 错误代码1001 解决方法