我有一个5节点的SolrCloud(Solr 7.0),带有一个外部3节点的Zookeeper集成。有一个称为“生产”的集合,该集合以5的复制因子分片为5个分片。请参见以下屏幕截图:
shard5很长时间以来一直在努力选举新领导人,而其他核心则抱怨以下错误:
azsolr1 solr:2018-08-28 19:32:43.575错误(qtp1124317168-9304)[c:production s:shard2 r:core_node9 x:production_shard2_replica_n4] oashRequestHandlerBase org.apache.solr.common.SolrException:未注册等待4000毫秒后找到领导者,收集:生产切片:shard5
一个接一个地重启所有节点后(我什至重启了zookeeper节点),我也没有运气选出唯一的活动副本(azsolr1)作为领导者。然后,我使用CoreAdmin API UNLOAD命令以“ down”状态卸载了4个副本,这导致副本完全消失。
使用该设置,尝试使用Collection API FORCELEADER来强制分片的头没有任何作用。在卸载内核之前,我也尝试过这样做。
这是当前状态:
为什么Solr不能只选择碎片5的唯一活动副本作为领导者?这不是很明显吗,尤其是在将领导者强加于碎片之后?
假设领导者以某种方式成功当选,我是否可以重新创建使用Collection API ADDREPLICA删除的副本?在这种情况下,是否应该重复使用与已删除副本相同的instanceDir
和dataDir
?或者我只是让它从头复制?
答案 0 :(得分:1)
答案 1 :(得分:0)
我有同样的问题。
一个具有3个副本的集合(solr1->之前是领导者,solr2,solr3)。其中一个碎片没有领导者!我做了这些步骤:
1-停止 solr2 和 solr3
2-调用FORCE LEADER API(http://xx.xx.xxx.xx:8983/solr/admin/collections?action=FORCELEADER&collection=your_collection_name&shard=shard1
)
3-几分钟后solr1被选为领导者