3

我有一个运行 3 个实例的 Zookeeper 合奏,还有一个带有一些 solr 实例的 solrcloud 集群。我创建了一个设置为 2 个分片的集合。然后我:

create 1 core on instance1
create 1 core on instance2
create 1 core on instance1
create 1 core on instance2

只要有这个配置:

instance1: shard1_leader, shard2_replica
instance2: shard1_replica, shard2_leader

如果我将 2 个核心添加到实例 1,然后将 2 个核心添加到实例 2,则两个领导者都将在实例 1 上,并且不会进行重新选举。

instance1: shard1_leader, shard2_leader
instance2: shard1_replica, shard2_replica

回到我的理想场景(分离的领导者),当我添加具有 2 个副本的第三个实例并杀死我的一个运行领导者的实例时,选举会选择已经拥有领导者的实例。

我的问题是为什么 Zookeeper 会采取这种行为。它不应该分配领导者吗?如果我给双主实例带来一些压力,Zookeeper 会进行选举吗?

4

1 回答 1

4

在 lucene 论坛上从 Erick Ericson 那里得到了这个答案:

这可能不是那么重要的担心。领导者的额外职责非常少。当您重新启动服务器等时,领导者无论如何都会转移。真的感觉像是过早的优化。

于 2013-08-09T20:19:04.243 回答