Solr 分布式(复制)配置--成功验证

solr查询量增加后,单服务器承受不了搜索压力是,需要多服务来支撑,

Solr1.4后自己提供了复制机制ReplicationHandler。

ReplicationHandler是个RequestHandler,在solrconfig.xml配置ReplicationHandler即可使用。

 

Master配置

<requestHandler name="/replication" class="solr.ReplicationHandler" >   

<lst name="master">      <!--什么时候发出同步,参数名replicateAfter,取值可以是startup commit optimize  -->      

<str name="replicateAfter">startup</str>      

<str name="replicateAfter">commit</str>  

<!--数据备份 参数名backupAfter 同样可以似乎startup commit optimize -->   

<!-- <str name="backupAfter">optimize</str> -->    <!--配置要同步的配置文件 -->

 <str name="confFiles">schema.xml,stopwords.txt,elevate.xml</str>

 <!--提交同步时间间隔,默认是10秒,一般不用改动 -->  

<str name="commitReserveDuration">00:00:10</str>     

</lst>  

</requestHandler>

 

 

Slave配置  

<requestHandler name="/replication" class="solr.ReplicationHandler" >     

<lst name="slave"> 

<!--主服务的同步地址-->   

<str name="masterUrl">http://master_host:port/corename/replication</str>     

<!--同步轮询的时间间隔,是应用还击而定 -->  

<str name="pollInterval">00:00:20</str>    

<str name="compression">internal</str>  

<!--Http相关参数设置-->  

<str name="httpConnTimeout">5000</str>  

<str name="httpReadTimeout">10000</str>   

<!-- 如果主服务设置认证,在此设置登录用户名密码 -->         

<str name="httpBasicAuthUser">username</str>       

<str name="httpBasicAuthPassword">password</str>  

</lst>  

</requestHandler>

 

 Solr同步是通过Slave周期性轮询来检查Master的版本,

如果Master有新版本,那么就开始同步复制。

1. Slave发出一个filelist命令来收集文件列表。这个命令将返回一系列元数据(size,lastmodified,alias等等)

 2. Slave查看它本地是否有这些文件,然后它会开始下载缺失的文件(使用命令filecontent)。如果连接失败,则下载终止。它将重试5次,如果仍然失败则放弃。  

3. 文件被下载到了一个临时目录。因此,下载中途出错不会影响到slave。  

4. 一个commit命令被ReplicationHandler执行,然后新的索引被加载进来   solr同步复制就那么简单。

转载于:https://www.cnblogs.com/bobsoft/p/3545381.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值