使用 ReplicationHandler 设置一个中继器(Repeater)

主从分布式中,就一台主服务,可以存在多个从服务,从服务需要从主服务同步数据,当几个从服务部署在同一个机房,而和主服务没有部署在同一个机房, 这种情况所有从服务都从主服务同步数据就会比较耗带宽。为了解决这个问题,可以配置一个活多个从服务器为中继器,这样,该中继器从主索引同步完索引后,然 后可以充当主服务的职责,将自己的索引不同给其他的从服务,这样这个中继器既充当了从服务又充当了主服务。

  • 配置一个服务器为中继器,在 solrconfig.xml 中定义 requestHandler 时,需要同时包含主服务和从服务的文件列表
  • 确保设置 replicateAfter 参数为 commit,即使主服务中 replicateAfter 设置为 optimize 。
  • 可以设置压缩参数,这样可以减少下载索引的时间
这里是一个配置中继器的例子:
1
2
3
4
5
6
7
8
9
10
< requestHandler name = "/replication" class = "solr.ReplicationHandler" >
     < lst name = "master" >
         < str name = "replicateAfter" >commit</ str >
         < str name = "confFiles" >schema.xml,stopwords.txt,synonyms.txt</ str >
     </ lst >
     < lst name = "slave" >
         < str name = "masterUrl" >http://master.solr.company.com:8983/solr/replication</ str >
         < str name = "pollInterval" >00:00:60</ str >
     </ lst >
</ requestHandler >

你可能感兴趣的:(Replication)