登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

经验沉淀 知识结晶

技术因为专注才彻底。

 
 
 

日志

 
 

转载 Solr 分布式部署  

2011-08-08 15:01:36|  分类: Luence/Solr |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
      SOLR复制模式,是一种在分布式环境下用于同步主从服务器的一种实现方式,因之前提到的基于rsync的SOLR不同方式部署成本过高,被SOLR1.4版本所替换,取而代之的就是基于HTTP协议的索引文件传输机制,该方式部署简单,只需配置一个文件即可。

以下讲解具体操作步骤:

     步骤分主服务器和从服务器,允许有多个从服务器,即从服务器的配置一样。

主服务器:

 

      在solrConfig.xml中,找到以下行:

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

  1.     <lst name="master">  
  2.         <str name="replicateAfter">commit</str>  
  3.   
  4.         <str name="confFiles">schema.xml,stopwords.txt,elevate.xml</str>  
  5.          
  6.         <str name="commitReserveDuration">00:05:00</str>  
  7.         <str name="httpBasicAuthUser">123</str>  
  8.         <str name="httpBasicAuthPassword">123</str>  
  9.   
  10.   
  11.     </lst>  
  12. </requestHandler>  

 

说明:

  • replicateAfter : SOLR会自行在以下操作行为发生后执行复制: 'commit', 'startup' 'optimize',这里我们选择commit , 即SOLR每一次接受到commit请求后,会执行复制策略。
  • confFiles : 待分发的配置文件,solr 也会将主服务器上的字段配置文件:schema.xml和stopwords.txt,固排文件: elevate.xml同步到辅服务器上。
  • commitReserveDuration: 每次commit之后,保留增量索引的周期时间,这里设置为5分钟。

从服务器

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

  1.     <lst name="slave">  
  2.   
  3.         <str name="masterUrl">http://localhost:port/solr/corename/replication</str>    
  4.   
  5.         <str name="pollInterval">00:05:00</str>    
  6.           
  7.         <str name="compression">internal</str>  
  8.          
  9.         <str name="httpConnTimeout">5000</str>  
  10.         <str name="httpReadTimeout">10000</str>  
  11.   
  12.   
  13.         <str name="httpBasicAuthUser">123</str>  
  14.         <str name="httpBasicAuthPassword">123</str>  
  15.   
  16.      </lst>  
  17. </requestHandler>  

 

 说明:

  • masterUrl : 主服务器同步URL地址
  • pollInterval:从服务器同步间隔,即每隔多长时间同步一次主服务器
  • httpConnTimeout:设置连接超时(单位:毫秒)
  • httpReadTimeout:如果设置同步索引文件过大,则应适当提高此值。(单位:毫秒)
  • httpBasicAuthUser:验证用户名,需要和主服务器一致
  • httpBasicAuthPassword:验证密码,需和主服务器一致
  • compression:external or internal 使用SOLR自己的压缩算法或应用容器的

    区别: 内部算法会大大提高同步成本,原话: USE THIS ONLY IF YOUR BANDWIDTH IS LOW . THIS CAN ACTUALLY SLOWDOWN REPLICATION IN A LAN。

    因此建议使用外部方式即: external .

    同时需要配置外部应用容器: 以TOMCAT为例:


  1. <Connector compression="on"   
  2. compressableMimeType="text/html,text/xml,text/plain"   
  3. compressionMinSize="2048"/>  
  评论这张
 
阅读(3461)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018