重新启动后SolrCloud意外恢复

时间:2018-11-21 17:59:13

标签: solr solrcloud

我安装了SolrCloud(版本6),其复制因子3和30个服务器上的150个分片。

在单台服务器上重新启动Solr后,我看到奇怪的行为:有时候一切正常,并且在重放提交日志后,Solr不会出现任何问题。但是更常见的是,它从副本开始完全恢复。同样,有时恢复是该节点上的所有分片或其中的一部分。在恢复之前,没有关于任何故障的警告/错误日志。

是否可以优雅地停止Solr?

我也不明白为什么Solr会从每个分片的副本索引中加载所有数据文件,而不是加载最新的更改。

1 个答案:

答案 0 :(得分:0)

您的自动提交设置600000非常高(600秒)。 这实际上对SolrCloud意味着什么?

这表示事务日志已被刷新,但尚未同步。在Solr节点重新启动时,该节点与集群负责人联系,并且

  

如果领导者已收到<100个新更新,则从自己的日志中重播文档。

OR

  

是否对领导者进行旧式的完全复制,以便在   节点离线时,领导者收到了100多个更新。

https://lucidworks.com/2013/08/23/understanding-transaction-logs-softcommit-and-commit-in-sorlcloud/

我的猜测是您正在获得后者。 只需确保通过Solr脚本正常关闭-确保您没有执行任何“ kill -9”操作和/或确保Solr不会死于堆内存问题。

我(无论如何在SolrCloud 5.3中)看到的一个问题是,如果在ZooKeeper意识到该节点已经“消失”之前重新启动Solr节点,则SolrCloud可以将ZooKeeper设置为一个时髦状态,认为它认为Solr节点位于运行,但不是。因此,我通常要做的一件事是在重新启动系统之前检查所有其他节点是否知道系统的正确状态(节点已“消失”)。