1. 程式人生 > >solr分散式配置之索引複製(原創)

solr分散式配置之索引複製(原創)

solr的索引複製:將索引從主伺服器上覆制到多個伺服器上.
索引複製原因:當有很多個客戶併發訪問某Solr伺服器,這可能會導致Solr伺服器崩潰(Solr伺服器效能達不到這些客戶併發訪問的需求),這時就需要通過solr索引複製來減少對伺服器的效能要求。
下面介紹一下主從伺服器的最簡單配置(如下配置在專案中已經通過驗證):
我的環境:solr master(10.148.73.83), solr slave(10.148.74.72), jdk 1.6.0_13, master(apache-tomcat-6.0.28), slave(apache-tomcat-6.0.29), apache-solr-3.6.0
先將solr與tomcat進行整合,可以參考
solr3.6與tomcat的整合

配置主伺服器solr Master(10.148.73.83), 在solrconfig.xml中增加以下內容
<requestHandler name="/replication" class="solr.ReplicationHandler" >  
	<lst name="master">  
		<str name="replicateAfter">commit</str> 
		<str name="replicateAfter">optimize</str>
		<str name="backupAfter">optimize</str>
		<int name="numberToKeep">2</int>
		<str name="confFiles">schema.xml,stopwords.txt,elevate.xml</str>  			
		<str name="commitReserveDuration">00:00:30</str> 
		<str name="httpBasicAuthUser">admin</str>  
		<str name="httpBasicAuthPassword">admin</str>
	</lst>  
</requestHandler>
replicateAfter : SOLR會自行在以下操作行為發生後執行復制: 'commit', 'startup', 'optimize',該值可以填多個
backupAfter:SOLR會自行在以下操作行為發生後執行備份索引: 'commit', 'startup', 'optimize',該值可以填多個
numberToKeep:指定備份多少份檔案,預設值為 MAX_VALUE
confFiles : 待分發的配置檔案,solr 也會將主伺服器上的欄位配置檔案:schema.xml和stopwords.txt,固排檔案: elevate.xml同步到輔伺服器上。

commitReserveDuration: 每次commit之後,保留增量索引的週期時間,這裡設定為30秒。

配置從伺服器solr slave(10.148.74.72), 在solrconfig.xml中增加以下內容
<requestHandler name="/replication" class="solr.ReplicationHandler" >  
    <lst name="slave">  
        <str name="masterUrl">http://10.148.73.83:8080/solr/replication</str>     
        <str name="pollInterval">00:00:30</str> 
		<!-- 以下引數不常用,非必填引數-->
        <str name="compression">internal</str>
        <str name="httpConnTimeout">100000</str>  
        <str name="httpReadTimeout">1000000</str> 
		<str name="httpBasicAuthUser">admin</str>  
        <str name="httpBasicAuthPassword">admin</str>
     </lst>  
</requestHandler>
masterUrl : 主索引的url,該從索引將從這個主索引地址同步索引
pollInterval:從伺服器同步間隔,即每隔多長時間同步一次主伺服器,格式為HH:mm:ss . 如果該設定為空從索引將不會主動從主索引同步索引.另外拉取索引的請求也可以通過 admin 頁面或者 http api 來觸發
compression:在索引傳輸過程中使用壓縮,可選的值有兩個 internal 和 external
       如果值是 'external' 請確保主索引的solr已經設定了accept-encoding header
       如果值是 'internal' 索引資料將被自動壓縮,這個主要在低頻寬情況下使用,區域網中請不要使用,區域網中使用會降低複製效率
httpConnTimeout:設定連線超時(單位:毫秒)
httpReadTimeout:設定讀取超時,如果設定同步索引檔案過大,則應適當提高此值。(單位:毫秒)
httpBasicAuthUser:驗證使用者名稱,需要和主伺服器一致

httpBasicAuthPassword:驗證密碼,需和主伺服器一致

注:從伺服器可以有多個,多個從伺服器的配置相同

至此solr的索引複製的配置工作就完成了。現在可以啟動兩個伺服器,通過http://10.148.73.83:8080/solr/admin/replication/檢視到主伺服器的複製頁面的控制頁面


通過http://10.148.74.72:8080/solr/admin/replication/檢視到從伺服器的複製頁面的控制頁面


相關推薦

solr分散式配置索引複製(原創)

solr的索引複製:將索引從主伺服器上覆制到多個伺服器上. 索引複製原因:當有很多個客戶併發訪問某Solr伺服器,這可能會導致Solr伺服器崩潰(Solr伺服器效能達不到這些客戶併發訪問的需求),這時就需要通過solr索引複製來減少對伺服器的效能要求。 下面介紹一下主從伺服

solr分布式索引【實戰一、分片配置讀取:工具類configUtil.java,讀取配置代碼片段,配置實例】

hset fileinput string lose eas hash hashset mod bject 1 private static Properties prop = new Properties(); 2 3 private stati

原創】【小程序開發教程】2、小程序域名配置申請支持SSL(https)

證書頒發 分享圖片 tro get 操作方法 alt 賽門鐵克 似的 http 要把一個網站對接進小程序,一、網站的域名必須通過備案(ICP備案)。在買域名的時候,各個域名服務商都有提供相應的備案平臺,可以方便的提交備案。工信部官網:http://www.miitbeian

SrpingCloud SrpingCloud config分散式配置中心

Config架構 當一個系統中的配置檔案發生改變的時候,我們需要重新啟動該服務,才能使得新的配置檔案生效,spring cloud config可以實現微服務中的所有系統的配置檔案的統一管理,而且還可以實現當配置檔案發生變化的時候,系統會自動更新獲取新的配置。 Git環境搭建 使用碼雲環境搭建git

SrpingCloud SrpingCloud config分散式配置中心搭建

1、搭建git環境   目的:持久化儲存配置檔案資訊    採用碼雲    建立後 繼續建立資料夾  用來區分不同的專案   下面就是git上存放配置檔案了。環境的區分 dev  sit pre prd&

SrpingCloud SrpingCloud config分散式配置中心實時重新整理

預設情況下是不能及時獲取變更的配置檔案資訊 Spring Cloud分散式配置中心可以採用手動或者自動重新整理  1、手動需要人工呼叫介面   監控中心  2、訊息匯流排實時通知  springbus   動態重新整理資料 在Spring

SpringCloud微服務雲架構構建B2B2C電子商務平臺-(七)高可用的分散式配置中心(Spring Cloud Config)

講述了一個服務如何從配置中心讀取檔案,配置中心如何從遠端git讀取配置檔案,當服務例項很多時,都從配置中心讀取檔案,這時可以考慮將配置中心做成一個微服務,將其叢集化,從而達到高可用,架構圖如下: 一、準備工作 繼續使用上一篇文章的工程,建立一個eureka-server工程,用作服務註冊中心。 在其

關於SpringCloud微服務雲架構構建B2B2C電子商務平臺-(六)分散式配置中心(Spring Cloud Config)

一、簡介 在分散式系統中,由於服務數量巨多,為了方便服務配置檔案統一管理,實時更新,所以需要分散式配置中心元件。在Spring Cloud中,有分散式配置中心元件spring cloud config ,它支援配置服務放在配置服務的記憶體中(即本地),也支援放在遠端Git倉庫中。在spring cloud

SpringCloud微服務雲架構構建B2B2C電子商務平臺-(六)分散式配置中心(Spring Cloud Config)

一、簡介 在分散式系統中,由於服務數量巨多,為了方便服務配置檔案統一管理,實時更新,所以需要分散式配置中心元件。在Spring Cloud中,有分散式配置中心元件spring cloud config ,它支援配置服務放在配置服務的記憶體中(即本地),也支援放在遠端Git倉庫中。在spri

SpringCloud微服務雲架構構建B2B2C電子商務平臺- (七)高可用的分散式配置中心(Spring Cloud Config)

講述了一個服務如何從配置中心讀取檔案,配置中心如何從遠端git讀取配置檔案,當服務例項很多時,都從配置中心讀取檔案,這時可以考慮將配置中心做成一個微服務,將其叢集化,從而達到高可用,架構圖如下: 一、準備工作 繼續使用上一篇文章的工程,建立一個eureka-server工程,用作服務註冊中心。 在

關於SpringCloud微服務雲架構構建B2B2C電子商務平臺-(七)高可用的分散式配置中心(Spring Cloud Config)

講述了一個服務如何從配置中心讀取檔案,配置中心如何從遠端git讀取配置檔案,當服務例項很多時,都從配置中心讀取檔案,這時可以考慮將配置中心做成一個微服務,將其叢集化,從而達到高可用,架構圖如下: 一、準備工作 繼續使用上一篇文章的工程,建立一個eureka-server工程,用作服務註

微服務分散式叢集配置中心,為什麼要配置中心?

轉載公眾號:java後端技術 一、前言 對於配置檔案,我們並不陌生,它提供我們可以動態修改程式執行能力。引用別人的一句話就是: 系統執行時(runtime)飛行姿態的動態調整! 我可以把我們的工作稱之為在快速飛行的飛機上修理零件。我們人類總是無法掌控和預知一切。

GoldenGate配置(三)DDL複製配置

環境: Item Source System Target System Platform Red H

springcloudconfig分散式配置中心

一:分散式配置中心簡介 springcloud config為微服務架構中的微服務提供集中化的外部配置支援,配置伺服器為各個不同微服務應用的所有環境提供了一箇中心化的外部配置 springcloud config分為服務端和客戶端兩部分 服務端也稱為分散式配置中心,

[原創]分散式系統快取的微觀應用經驗談(三)【資料分片和叢集篇】

分散式系統之快取的微觀應用經驗談(三)【資料分片和叢集篇】 前言   近幾個月一直在忙些瑣事,幾乎年後都沒怎麼閒過。忙忙碌碌中就進入了2018年的秋天了,不得不感嘆時間總是如白駒過隙,也不知道收穫了什麼和失去了什麼。最近稍微休息,買了兩本與技術無關的書,其一是 Yann Martel 寫的《The

[原創]分散式系統快取的微觀應用經驗談(四) 【互動場景篇】

分散式系統之快取的微觀應用經驗談(四) 【互動場景篇】  前言   近幾個月一直在忙些瑣事,幾乎年後都沒怎麼閒過。忙忙碌碌中就進入了2018年的秋天了,不得不感嘆時間總是如白駒過隙,也不知道收穫了什麼和失去了什麼。最近稍微休息,買了兩本與技術無關的書,其一是 Yann Martel 寫的《The

SpringCloud分散式配置中心-本地配置檔案(重啟生效) |第十一章 -yellowcong

需要通過傳送post請求http://yellowcong.com:8763/refreh設定重新整理配置檔案資訊,會遇到授權問題Full authentication is required to access this resource.,解決辦法有兩

SpringCloud分散式配置中心Spring Cloud Config例項

一、簡介 Spring Cloud Config是Spring Cloud團隊建立的一個全新專案,用來為分散式系統中的基礎設施和微服務應用提供集中化的外部配置支援,它分為服務端與客戶端兩個部分。其中服務端也稱為分散式配置中心,它是一個獨立的微服務應用,用來連線配置倉庫併為

springcloud學習分散式配置中心(Finchley版本),遇到的問題及解決方案

在學習中,遇到的問題: 一、在搭建好配置服務中心後,不太理解訪問路徑,/{application}/{prolfile}[/label] 之類的路徑,通俗的解釋,就是application指應用名,profile指開發環境,label指git分支,這樣解釋

Spring系列學習Spring Cloud Zookeeper服務發現及分散式配置

英文原文:https://spring.io/projects/spring-cloud-zookeeper 目錄 概述 特性 快速開始 學習 文件 示例 概述 Spring Cloud Zookeeper通過自動配置和Spring環境以及其他Spring程式