SolrCloud неожиданное восстановление после перезагрузки - PullRequest
0 голосов
/ 21 ноября 2018

У меня установлена ​​SolrCloud (версия 6) с коэффициентом репликации 3 и 150 шардами на 30 серверах.

Я вижу странное поведение после перезапуска Solr на одном сервере: иногда все в порядке, и Solr появляется безлюбые проблемы после воспроизведения логов коммитов.Но чаще всего начинается полное восстановление из его реплик.Также иногда это восстановление всех осколков на этом узле или только нескольких из них.Нет журналов предупреждений / ошибок об ошибках перед восстановлением.

Можно ли корректно остановить Solr?

Также я не могу понять, почему Solr выполняет загрузку всех файлов данных из индекса реплики изкаждый осколок вместо загрузки последних изменений.

1 Ответ

0 голосов
/ 23 ноября 2018

Ваш параметр autoCommit 600000 очень высок (600 секунд).Что это означает для SolrCloud практически?

Это означает, что журнал транзакций был сброшен, но не fsync'd.При перезапуске узла Solr узел связывается с лидером кластера и либо

воспроизводит документы из своего собственного журнала, если лидером было получено <100 новых обновлений.</p>

ИЛИ

Выполняет ли реплика в старом стиле от лидера, чтобы наверстать упущенное, если лидер получил> 100 обновлений, пока узел находился в автономном режиме.

https://lucidworks.com/2013/08/23/understanding-transaction-logs-softcommit-and-commit-in-sorlcloud/

Полагаю, в вашем случае вы получаете последнее.Просто обязательно корректно завершите работу с помощью скриптов Solr - убедитесь, что вы не выполняете команду «kill -9» и / или убедитесь, что Solr не утомляет проблемы с памятью.

Также одна проблема, которую яМы видели (в любом случае в SolrCloud 5.3), что если вы перезапустите узел Solr до того, как ZooKeeper обнаружит, что узел «ушел», то SolrCloud может установить ZooKeeper в странное состояние, когда он считает, что узел Solr работает, но это не так.Поэтому я обычно делаю одну вещь - проверяю, чтобы все остальные узлы знали правильное состояние системы (что узел "ушел") перед его перезапуском.

...