W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
源和目標(biāo)配置在數(shù)據(jù)中心處于不同集群的情況下有所不同。這里的“集群”是指單獨(dú)的ZooKeeper集合控制不相交的Solr實例。這些數(shù)據(jù)中心是否在物理上是分開的,對于這個討論來說并不重要。
下面是一個源代碼配置文件的例子,在solrconfig.xml部分。<replica>部分的存在導(dǎo)致CDCR將此群集用作源,并且不應(yīng)出現(xiàn)在目標(biāo)集合中。有關(guān)每個設(shè)置的詳細(xì)信息,請見以下兩個示例:
<requestHandler name="/cdcr" class="solr.CdcrRequestHandler">
<lst name="replica">
<str name="zkHost">10.240.18.211:2181,10.240.18.212:2181</str>
<!--
If you have chrooted your Solr information at the target you must include the chroot, for example:
<str name="zkHost">10.240.18.211:2181,10.240.18.212:2181/solr</str>
-->
<str name="source">collection1</str>
<str name="target">collection1</str>
</lst>
<lst name="replicator">
<str name="threadPoolSize">8</str>
<str name="schedule">1000</str>
<str name="batchSize">128</str>
</lst>
<lst name="updateLogSynchronizer">
<str name="schedule">1000</str>
</lst>
</requestHandler>
<!-- Modify the <updateLog> section of your existing <updateHandler>
in your config as below -->
<updateHandler class="solr.DirectUpdateHandler2">
<updateLog class="solr.CdcrUpdateLog">
<str name="dir">${solr.ulog.dir:}</str>
<!--Any parameters from the original <updateLog> section -->
</updateLog>
</updateHandler>
下面是一個典型的目標(biāo)配置。
目標(biāo)實例必須配置特定于CDCR的更新處理器鏈。更新處理器鏈必須包含CdcrUpdateProcessorFactory。此處理器的任務(wù)是確保附加到來自CDCR源SolrCloud的更新請求的版本號被重用,并且不被目標(biāo)覆蓋。正確配置的目標(biāo)配置與此類似。
<requestHandler name="/cdcr" class="solr.CdcrRequestHandler">
<lst name="buffer">
<str name="defaultState">disabled</str>
</lst>
</requestHandler>
<requestHandler name="/update" class="solr.UpdateRequestHandler">
<lst name="defaults">
<str name="update.chain">cdcr-processor-chain</str>
</lst>
</requestHandler>
<updateRequestProcessorChain name="cdcr-processor-chain">
<processor class="solr.CdcrUpdateProcessorFactory"/>
<processor class="solr.RunUpdateProcessorFactory"/>
</updateRequestProcessorChain>
<!-- Modify the <updateLog> section of your existing <updateHandler> in your
config as below -->
<updateHandler class="solr.DirectUpdateHandler2">
<updateLog class="solr.CdcrUpdateLog">
<str name="dir">${solr.ulog.dir:}</str>
<!--Any parameters from the original <updateLog> section -->
</updateLog>
</updateHandler>
配置細(xì)節(jié),默認(rèn)和選項如下:
可以將CDCR配置為將更新請求轉(zhuǎn)發(fā)到一個或多個目標(biāo)集合。目標(biāo)集合是通過“副本”列表定義的,如下所示:
目標(biāo)SolrCloud的ZooKeeper的主機(jī)地址。通常這是Target ZooKeeper集合中每個節(jié)點(diǎn)的逗號分隔列表。該參數(shù)是必需的。
要復(fù)制的源SolrCloud上集合的名稱。該參數(shù)是必需的。
要將更新轉(zhuǎn)發(fā)到的Target SolrCloud上的集合的名稱。該參數(shù)是必需的。
CDC Replicator是負(fù)責(zé)將更新轉(zhuǎn)發(fā)到副本的組件。Replicator將監(jiān)視Source集合的更新日志,并將任何新的更新轉(zhuǎn)發(fā)到Target集合。
Replicator使用固定的線程池并行地將更新轉(zhuǎn)發(fā)到多個副本。如果配置了多個副本,則一個線程將以循環(huán)方式每次從一個副本轉(zhuǎn)發(fā)一批更新。Replicator可以使用“復(fù)制器”列表進(jìn)行配置,如下所示:
用于轉(zhuǎn)發(fā)更新的線程數(shù)。建議每個副本一個線程。默認(rèn)是2
。
監(jiān)視更新日志的延遲時間(以毫秒為單位)。默認(rèn)是10
。
在一個批處理中發(fā)送的更新數(shù)。最佳大小取決于文檔的大小。大批量的大文件可能會顯著增加您的內(nèi)存使用量。默認(rèn)是128
。
Expert:非leader節(jié)點(diǎn)需要不時地將其更新日志與其leader節(jié)點(diǎn)同步,以清除棄用的事務(wù)日志文件。默認(rèn)情況下,每分鐘執(zhí)行一次這樣的同步過程。可以使用“updateLogSynchronizer”列表修改同步計劃,如下所示:
同步更新日志的延遲時間(以毫秒為單位)。默認(rèn)是60000
。
緩沖更新時,更新日志將無限期地存儲所有更新。建議在正常操作期間禁用源和目標(biāo)群集上的緩沖,因為啟用緩沖時,更新日志將無限制地增長。保持啟用緩沖用于特殊維護(hù)期間。啟動時可以使用“緩沖區(qū)”列表和參數(shù)“defaultState”禁用緩沖區(qū),如下所示:
啟動時緩沖區(qū)的狀態(tài)。默認(rèn)是enabled
。
緩沖旨在增加維護(hù)窗口。應(yīng)該牢記以下幾點(diǎn):
啟用緩沖時,更新日志將無限制地增長; 他們將永遠(yuǎn)不會被清除。
在正常操作期間,如果目標(biāo)數(shù)據(jù)中心不可用,則更新日志將在源數(shù)據(jù)中心自動生成;沒有必要為CDCR啟用緩沖來處理常規(guī)的網(wǎng)絡(luò)中斷。
因此,建議在源數(shù)據(jù)中心監(jiān)視磁盤使用情況,作為目標(biāo)數(shù)據(jù)中心正在接收更新的額外檢查。
不應(yīng)在目標(biāo)數(shù)據(jù)中心啟用緩沖, 因為更新日志將不受限制地累積。
如果啟用了緩沖功能,那么禁用更新日志時,將更新日志的內(nèi)容發(fā)送到目標(biāo)數(shù)據(jù)中心。這個過程可能需要一些時間。
在將新的更新發(fā)送到源數(shù)據(jù)中心之前,不會觸發(fā)更新日志清理。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: