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

[经验分享] solr配置主从同步配置及同步机制

[复制链接]

尚未签到

发表于 2016-12-16 08:25:12 | 显示全部楼层 |阅读模式
solr主从配置:
主从配置是实现主从服务器之间的数据同步,为了实现的是读写分离,为了方便,我在一台服务器上模拟实现的,我用了一个tomcat服务器,tomcat上面部署了两个war包,一个master和一个slave,具体的solr服务搭建我就不写了,单写如何实现主从配置。
 
       我使用的solr是多核的,我拿一个作为例子啊(用户),主从配置过程中,主服务的索引中配置文件是不需要做任何变化的,但是为了与从的比较,我也贴下配置,主配置文件solrConfig.xml:

<?xml version="1.0" encoding="UTF-8" ?>
<config>
<luceneMatchVersion>LUCENE_36</luceneMatchVersion>
<requestDispatcher handleSelect="true" >
<requestParsers enableRemoteStreaming="false" multipartUploadLimitInKB="2048" />
</requestDispatcher>
<requestHandler name="standard" class="solr.StandardRequestHandler" default="true" />
<requestHandler name="/update" class="solr.XmlUpdateRequestHandler" />
<requestHandler name="/admin/" class="org.apache.solr.handler.admin.AdminHandlers" />

<requestHandler name="/replication" class="solr.ReplicationHandler" >  
<lst name="master">  
<str name="replicateAfter">startup</str>  
<str name="replicateAfter">commit</str>   
<str name="confFiles">schema.xml</str>
</lst>  
</requestHandler>
<requestHandler name="/analysis/field" class="solr.FieldAnalysisRequestHandler" />   
<admin>
<defaultQuery>solr</defaultQuery>
</admin>
</config>

 
 从配置文件的solrConfig.xml


<?xml version="1.0" encoding="UTF-8" ?>
<config>
<luceneMatchVersion>LUCENE_36</luceneMatchVersion>
<directoryFactory name="DirectoryFactory" class="${solr.directoryFactory:solr.StandardDirectoryFactory}"/>
<updateHandler class="solr.DirectUpdateHandler2" />
<requestDispatcher handleSelect="true" >
<requestParsers enableRemoteStreaming="false" multipartUploadLimitInKB="2048" />
</requestDispatcher>
<requestHandler name="standard" class="solr.StandardRequestHandler" default="true" />
<requestHandler name="/update" class="solr.XmlUpdateRequestHandler" />
<requestHandler name="/admin/" class="org.apache.solr.handler.admin.AdminHandlers" />
<requestHandler name="/replication" class="solr.ReplicationHandler">   
<lst name="slave">  
<str name="masterUrl">http://127.0.0.1:8983/master/user</str>  
<str name="pollInterval">00:00:20</str>  
<str name="compression">internal|external</str>  
<str name="httpConnTimeout">50000</str>     
<str name="httpReadTimeout">500000</str>      
</lst>  
</requestHandler>
<requestHandler name="/analysis/field" class="solr.FieldAnalysisRequestHandler" />   
<!-- config for the admin interface -->
<admin>
<defaultQuery>solr</defaultQuery>
</admin>
</config>

 以上配置表示,当主索引进行提交,更新和启动服务的时候,服务进行主从同步,从主索引http://127.0.0.1:8983/master/user上读取索引文件
 
  配置好配置文件后,启动服务器,在solr管理界面可以验证同步情况,输入
  http://127.0.0.1:8983/master/#/user/replication
  如果配置成功的话会出现如下界面:
 
DSC0000.png
 

该时间为动态的,每20s会执行同步索引一次,也可以点击replicate now立即执行同步
 
另外,主从同步的机制如下:
1、主服务索引文件进行压缩
2、在从服务上面新建一个目录,将主索引压缩后的数据复制到新的目录上
3、同步结束后,删除老的目录(老的索引)
 
注意:在同步过程中访问的是老的索引
 
我在测试环境上面做了测试,1700多万的数据(2.79G)
其中优化索引时间比同步时间长
 
优化索引大约使用了10分钟
但是同步索引只用了3分钟左右
 
 
 
 

运维网声明 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-314903-1-1.html 上篇帖子: Solr : 基于Lucene的可扩展集群搜索服务器 下篇帖子: solr 4.3的一些错误解决方法
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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