【问题标题】:SolrCloud vs Solr master-slave replicationSolrCloud 与 Solr 主从复制
【发布时间】:2013-04-05 04:49:42
【问题描述】:

本周我遇到了 Solr 索引问题:http://lucene.472066.n3.nabble.com/corrupted-index-in-slave-td4054769.html

今天,几乎每个请求都开始不断发生该错误,我创建了一个 JIRA 问题,因为我认为这是一个错误 https://issues.apache.org/jira/browse/SOLR-4707

如您所见,最后是由于 Solr 主从复制失败,现在我不知道我们是否应该考虑迁移到 SolrCloud,因为 Solr 主从复制似乎没有符合我们的要求:

  • 索引大小:~2000 万个文档,~9GB
  • ~1200 次更新/分钟
  • ~10000 次查询/分钟(分布在 2 个从属设备上)MoreLikeThis、RealTimeGet、TermVectorComponent、SearchHandler

如果有人能帮我回答这些问题,我会非常感谢:

  • 是否建议迁移到 SolrCloud?它会影响复制性能吗?
  • 在这种情况下,什么性能更好?在每个服务器中维护索引的副本,还是使用分片服务器?
  • 您建议使用多少分片和副本来确保高可用性?

亲切的问候,

维克多

【问题讨论】:

  • 如果您可以稍等片刻,Solr 5 将在明年推出,它有一系列积极的变化,可以进一步支持 SolrCloud。 IMO 4.x 对 SolrCloud 的支持需要大量进一步的维护,所以如果您可以等待,我会等待。还决定如何分片很糟糕。
  • 感谢这篇文章searchhub.org/2013/08/23/… 解决了这个问题 看完后,我可以理解软提交时间是根据我们的要求配置错误的(索引重,查询重),我们也有许多软提交,但我们不需要实时提供数据。因此,正如文章建议的那样,我尝试将软提交间隔设置得相当长,但硬提交设置为一个较小的值,在我的情况下为 15 秒。
  • 此外,通过发送包含多个项目的“批量”更新消息而不是为每个被索引的项目发送一个请求来优化索引过程,并选择更好的查询结果缓存策略,有助于减少加载 solr 服务器并提高所提供服务的整体质量

标签: solr solrcloud


【解决方案1】:

嗯,回答你所有的问题取决于你到底想从 solrcloud 得到什么。

  • 是的,建议迁移到 solrcloud,因为它提供高可用性、可扩展性和近乎实时的搜索以及自动 热复制。但这些功能的代价是性能略有下降(即使在配置良好的集群中也需要注意)。
  • 我建议您应该使用共享配置以允许 solr 为您维护索引数据(我相信如果您这样做,您会给 TechOps 人带来微笑)。这也将减少人为错误和资源需求。
  • 最后一个问题的答案完全取决于您的云部署。您应该尝试使用 2 分片 2 副本配置,然后创建测试部署以确保它满足您的需求。如果没有,请尝试使用不同的分片和副本计数组合,直到你得到你想要的(我知道它的痛苦!)。

最后不要忘记估计您的未来增长(未来几年您将向集群添加多少数据),并记住您应该决定分片和副本

【讨论】:

    猜你喜欢
    • 2015-12-05
    • 1970-01-01
    • 1970-01-01
    • 2016-04-01
    • 2019-03-31
    • 2014-07-31
    • 1970-01-01
    • 2016-03-17
    • 1970-01-01
    相关资源
    最近更新 更多