Solr主从配置

solr的主从其实是他的replication集群,从本质上说是通过ReplicationHandler来实现的,除了solr server之间可以互相同步之外,每个solr实例内部的core之间也是可以实现同步的,而能自身同步自身的实例称为Repeater,它的存在是为了分担master的同步开销,即由它来同步master里需要向外同步的core,然后所有的slave都从Repeater处同步相应的core。

具体配置方面,master(主库)的solrconfig.xml里的requestHandler配置为:

<requestHandler name="/replication" class="solr.ReplicationHandler" >
    <lst name="master">
        <!--在 'optimize(合并索引)'后进行同步,其他可选的值还有'commit', 'startup',该值可以填多个-->
        <str name="replicateAfter">optimize</str>
        <!--在 'optimize(合并索引)'后备份索引,其他可选的值还有'commit', 'startup',该值可以填多个-->
        <!-- <str name="backupAfter">optimize</str> -->
        <!--指定备份多少份文件,默认值为 MAX_VALUE-->
        <!-- <int name="numberToKeep">2</int> -->
        <!--指定需要同步的配置文件,多份文件以逗号分隔 -->
        <str name="confFiles">schema.xml,stopwords.txt,elevate.xml</str>
        <!--The default value of reservation is 10 secs. Normally , you should not need
        to specify this -->
        <str name="commitReserveDuration">00:00:10</str>
    </lst>
</requestHandler>  
confFiles里可以指定在同步过程中,slave需要一并同步过去的文件。slave端 solrconfig.xml里的配置为:

<requestHandler name="/replication" class="solr.ReplicationHandler" >
    <lst name="slave">
        <!--主索引的url,该从索引将从这个主索引地址同步索引-->
        <str name="masterUrl">http://remote_host:port/solr/corename/replication</str>;
        <!--拉取间隔,达到这个时间,从索引将从主索引同步索引.格式为 is HH:mm:ss . 如果该设置为空从索引将不会主动从主索引同步索引.
        另外拉取索引的请求也可以通过 admin 页面或者 http api 来触发 -->
        <str name="pollInterval">00:00:20</str>
        <!-- 以下参数不常用,非必填参数-->
        <!--在索引传输过程中使用压缩,可选的值有两个 internal 和 external
        如果值是 'external' 请确保主索引的solr已经设置了accept-encoding header。
        如果值是 'internal' 索引数据将被自动压缩?,这个主要在低带宽情况下使用,局域网中请不要使用,局域网中使用会降低复制效率-->
        <str name="compression">internal</str>
        <!-以下是配置连接和读取超时时间,这个跟 http 中的概念一样,单位为毫秒-->
        <str name="httpConnTimeout">5000</str>
        <str name="httpReadTimeout">10000</str>
        <!-- 如果主服务中的 http base 的鉴权可用的话,从服务就需要配置这个用户名和密码 -->
        <str name="httpBasicAuthUser">username</str>
        <str name="httpBasicAuthPassword">password</str>
    </lst>
</requestHandler>

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值