5

本周我遇到了 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 是否可取?它会对复制性能产生影响吗?
  • 在那种情况下,什么会有更好的性能?在每个服务器中维护索引的副本,还是使用分片服务器?
  • 您建议使用多少分片和副本来确保高可用性?

亲切的问候,

胜利者

4

1 回答 1

3

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

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

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

于 2013-10-28T09:39:27.607 回答