2016-06-08 14 views
0

У нас есть настройка SolrCloud с 20 осколками, каждая с 1 репликой, обслуживаемой на 8 серверах.Как воссоздать осколки SolrCloud с помощью составного маршрутизатора и известного диапазона хэшей?

После того, как сервер опустился, мы оставили 16 осколков, а это значит, что некоторые хэш-диапазоны составных данных не размещаются ни в одном из ядер. Каким-то образом осколки/ядра не вернулись после того, как сервер снова появился. Я вижу сервер в/live_nodes.

Но все это неплохо: данные в коллекции нестабильны с TTS 30 минут, и у нас есть переход на другой ресурс, который пробует новый случайный составной каждый раз, когда операция «добавить» завершается с ошибкой.

Мой вопрос: возможно ли воссоздать пропавшие осколки или мне нужно удалить и создать коллекцию с нуля?

Я знаю, какие хэш-диапазоны отсутствуют, но вызов API CREATESHARD не поддерживает осколки с маршрутизатором 'compositeId'. И я не могу использовать SPLITSHARD, так как он только делит хеш оригинального осколка.

(Мы используем Solr 5.4.0 и не может обновить до того 6,1 отпускании реф. SOLR-8940)

ответ

0

Итак, я asked the same question в списке рассылки Solr пользователя. answer I got предлагает использовать zkNavigator и редактировать state.json, добавляя отсутствующие осколки (ов) с правильными параметрами. После этого требуется вызов API ADDREPLICA.

У меня еще нет возможности попробовать, но я сделаю, если проблема повторится.