У меня есть 5-узловый SolrCloud (Solr 7.0) с внешним 3-узловым ансамблем Zookeeper. Существует одна коллекция под названием «production», которая разделена на 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: зарегистрировано. Лидер был найден после ожидания 4000мс, коллекция: производственный срез: shard5
После перезапуска всех узлов один за другим (я даже перезапустил узлы zookeeper), мне не повезло в выборе единственной активной реплики (azsolr1) в качестве лидера. Затем я выгрузил 4 реплики с состоянием «down» с помощью команды CoreAdmin API UNLOAD , которая привела к полному исчезновению реплик.
При такой установке попытка заставить лидера осколка с помощью Collection API FORCELEADER ничего не делает. Я также попробовал это перед разгрузкой ядер.
Вот текущий статус:
Почему Solr не может просто выбрать единственную активную копию для шарда 5 в качестве лидера? Разве это не очевидно, особенно после того, как вы наведете лидера на осколок?
Предполагая, что лидер был каким-то образом избран успешно, воссоздаю ли я реплики, которые я удалил, с помощью Collection API ADDREPLICA ? В этом случае я должен повторно использовать те же самые instanceDir
и dataDir
удаленных реплик? Или я просто позволю копировать с нуля?