电竞比分网-中国电竞赛事及体育赛事平台

分享

Solr 分布式部署

 小漩渦 2013-03-06
      SOLR復制模式,是一種在分布式環(huán)境下用于同步主從服務器的一種實現(xiàn)方式,因之前提到的基于rsync的SOLR不同方式部署成本過高,被SOLR1.4版本所替換,取而代之的就是基于HTTP協(xié)議的索引文件傳輸機制,該方式部署簡單,只需配置一個文件即可。

以下講解具體操作步驟:

     步驟分主服務器和從服務器,允許有多個從服務器,即從服務器的配置一樣。

主服務器:

 

      在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會自行在以下操作行為發(fā)生后執(zhí)行復制: 'commit', 'startup' 'optimize',這里我們選擇commit , 即SOLR每一次接受到commit請求后,會執(zhí)行復制策略。
  • confFiles : 待分發(fā)的配置文件,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自己的壓縮算法或應用容器的

    區(qū)別: 內(nèi)部算法會大大提高同步成本,原話: 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"/> 

最后保存,重啟SOLR即可。

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多