2013-04-12 57 views
5

我这个星期有一个问题与Solr的指标:http://lucene.472066.n3.nabble.com/corrupted-index-in-slave-td4054769.htmlSolrCloud VS Solr的主从复制

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

正如你可以看到,最终它是由于Solr主从复制失败,现在我不知道是否应该考虑迁移到SolrCloud,因为Solr主从复制似乎不符合我们的要求:

  • 指数尺寸:约20万份文件,〜9GB
  • 〜1200更新/分钟
  • 〜10000个查询/分钟(分布在2奴隶)MoreLikeThis,RealTimeGet,TermVectorComponent,SearchHandler

我要感谢你如果有人可以帮助我来回答这些问题:

  • 难道是可取的迁移到SolrCloud?它会对复制性能产生影响吗?
  • 在这种情况下,会有更好的表现吗?在每台服务器上维护索引的副本,还是使用分片服务器?
  • 您会为了确保高可用性而建议多少个分片和副本?

亲切的问候,

维克多

+0

如果你能稍等一会,Solr 5将在明年内推出,并且它有一系列积极的变化,进一步支持SolrCloud。 IMO 4.x对SolrCloud的支持需要大量的进一步维护,所以如果您可以等待,我会等待。还决定如何碎片烂。 – Xinzz

+0

感谢这篇文章http:// searchhub,我解决了这个问题。org/2013/08/23/understanding-transaction-logs-softcommit-and-commit-in-sorlcloud /在阅读它之后,我可以理解,根据我们的要求,软提交时间被错误地配置(索引繁重,查询繁重),我们有太多的软提交,但我们并不需要实时提供数据。因此,正如文章所建议的那样,我试图将软提交间隔设置得相当长,但是在我的情况下15秒钟很难实现一个小的值。 – vruizext

+0

此外,通过发送包含多个项目的“批量”更新消息来优化索引过程,而不是为每个要索引的项目发送一个请求,并选择更好的策略来缓存查询结果,这有助于减少solr服务器的负载并提高所提供服务的整体质量 – vruizext

回答

3

好了,回答你所有的问题取决于正是你从solrcloud想要的东西。

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

最后不要忘了估计你未来的增长(你有多少数据添加到集群中的未来的一两年),并牢记,你应该决定碎片和副本