SolrCloud - 对架构或dataConfig的更新

时间:2015-08-18 03:15:53

标签: solr apache-zookeeper solrcloud

我们有一个由Zookeeper管理的SolrCloud。我们关注的一个问题是动态更新架构或dataConfig。我们计划进行的所有更改都在SolrCloud上的索引服务器节点中。一旦对schema或dataConfig进行了更改,我们就会执行完整的dataimport。

值得关注的是,云中从属节点上的新索引的复制不会立即发生,而是仅在复制间隔之后。此外,对于不同的从节点,复制将在不同时间发生,这可能导致不一致的结果。

For e.g. 

The index replication interval is 5 mins.
Slave node A started at 10:00 => next index replication would be at 10:05.
Slave node B started at 10:03 => next index replication would be at 10:08.

如果我们对索引服务器中的模式进行更改并在10:04重新索引结果,那么此更改的结果将在10:05的节点A上可用,但在节点B中仅在10: 08。在10:05和10:08之间向SolrCloud发出的请求将产生不一致的结果,具体取决于请求被重定向到哪个从节点。

如果有任何方法可以使结果更加一致,请告诉我。

1 个答案:

答案 0 :(得分:0)

@Wish,你所说的不是SolrCloud的行为。

在SolrCloud索引中路由到分片领导者,领导者将副本发送到所有副本。

在任何时候,如果ZooKeeper发现任何副本与领导者不同步,它将进入恢复模式。在此模式下,它不会提供任何请求,包括查询。

P.S:在solr云配置中,在ZooKeeper上维护,而不是在节点级别。

我猜你有点混淆Solr Cloud和Master Slave模式,请确认你在哪个设置?