首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >复制是如何工作的

复制是如何工作的
EN

Stack Overflow用户
提问于 2016-10-19 14:22:19
回答 1查看 238关注 0票数 0

假设我在主Solr服务器上的复制配置如下:

代码语言:javascript
复制
<lst name="master">
    <str name="enable">true</str>
    <str name="replicateAfter">optimize</str>

    <str name="confFiles">solrconfig.xml,schema.xml,stopwords.txt,synonyms.xml</str>
    <str name="commitReserveDuration">00:00:10</str>
</lst>

和奴隶配置如下:

代码语言:javascript
复制
<lst name="slave">
    <str name="enable">true</str>
    <str name="masterUrl">masterSolr</str>
    <str name="pollInterval">24:00:00</str>
</lst>
  1. 奴隶如何知道优化是在主人身上执行的(主人对奴隶一无所知)?
  2. 奴隶是否每24小时检查一次(而不是更频繁)?
  3. 如果没有优化,但是有几个提交(在主服务器上),那么复制会被执行吗?
  4. 如何达到一种状态,在这种状态下,从将只在优化之后才执行复制(没有其他的),并且在优化后不久就会执行(我们不想等待几个小时)?
EN

回答 1

Stack Overflow用户

发布于 2016-10-19 15:03:44

复制是一种拉式机制,因此为了能够支持您的场景,您需要进行一些配置。

对于你们的问题:

  1. 它没有-它从主人那里拉出间隔(或强制),告诉您准备复制的版本。
  2. 是- 24小时
  3. 只有在自上次索引提取后已完成优化的情况下
  4. 从主从到从属都需要一些配置和知识。 您可以在update处理程序上使用postOptimize update事件强制对奴隶进行回复。
代码语言:javascript
复制
<listener event="postOptimize" class="solr.RunExecutableListener">
      <str name="exe">wget</str>
      <str name="dir">solr/bin</str>
      <bool name="wait">true</bool>
      <arr name="args"> <str> http://slave_host:port/solr/core?/replication?command=fetchindex</str> </arr>

    </listener>

然后,可以从从配置中删除轮询间隔。您需要为每个从服务器添加多个args ( str标记)。

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

https://stackoverflow.com/questions/40134130

复制
相关文章

相似问题

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