首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Apache Solr: Slave每次轮询时都会复制10+次(提交次数过多?)

Apache Solr: Slave每次轮询时都会复制10+次(提交次数过多?)
EN

Stack Overflow用户
提问于 2016-02-26 21:53:16
回答 1查看 1.1K关注 0票数 18

我们使用Apache Solr (3.1.0)来索引为多个站点编写的大量文章。我们有一个主/从设置(底部的复制配置),其中服务器1对文章进行索引,服务器2复制索引。从机应该每隔60秒轮询一次主机,但实际上,我们几乎每次都可以看到10到75次连续的/replication调用。

每个Solr核心(从配置中的${solr.core.name})代表一个不同的站点。我看到的最多的/replication调用都绑定到最大的站点上。其中一个核心每分钟只有一个调用,在调用update?commit=true几次之后,我已经能够在那里重现这个调用,所以这让我认为这与主机执行的提交量有关。

所以我的问题是,如何阻止Solr从服务器复制索引几十次,并强制它每分钟只复制一次?我尝试在主配置中使用commitReserveDuration参数,但我真的看不出有什么不同。

主复制配置:

代码语言:javascript
复制
 <requestHandler name="/replication" class="solr.ReplicationHandler" >
   <lst name="master">
     <str name="replicateAfter">commit</str>
     <str name="replicateAfter">startup</str>
   </lst>
 </requestHandler>

从复制配置:

代码语言:javascript
复制
 <requestHandler name="/replication" class="solr.ReplicationHandler" >
   <lst name="slave">
     <str name="masterUrl">http://${solr.master.server}/search/${solr.core.name}/replication</str>
     <str name="pollInterval">00:00:60</str>
   </lst>
 </requestHandler>
EN

回答 1

Stack Overflow用户

发布于 2016-03-18 18:15:46

在配置中,您指定了replication after as commit,所以如果您非常频繁地从代码中发出commit,那么它将触发复制,因此我建议将其更改为优化而不是提交。这应该可以解决您的问题。Here是提供有关复制后设置的更多详细信息的链接。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35653520

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档