Репликация SOLR продолжает загружать весь индекс с главного - PullRequest
3 голосов
/ 22 июня 2011

У меня есть 2 подчиненных, которые реплицируются с главного устройства с индексом 17 ГБ.Я синхронизировал обоих ведомых с этим, ПОСЛЕ того, как я установил интервал опроса на 60 секунд.

Один из ведомых пытается загрузить весь индекс 17 ГБ, даже если изменилась только крошечная его часть.Другой не делает этого - он может получить последний индекс без этой грубой синхронизации.Из-за избыточной загрузки я превышаю квоту дискового пространства, потому что загрузка 17 ГБ занимает более 60 секунд, и solr запускает вторую синхронизацию в еще одном временном каталоге.

У кого-нибудь есть советы по отладке этого

1 Ответ

3 голосов
/ 27 марта 2012

Я вижу только три возможные причины этого:

  1. Оптимизация запускается в течение интервала времени, вызывая объединение всех нижележащих сегментов.См .: Оптимизация производительности
  2. Вы работаете с чрезвычайно высоким коэффициентом слияния, в результате чего ваш индекс сливается с каждым коммитом.См .: Коэффициент слияния
  3. Вы работаете с файлами компандирования.Смотрите конфигурацию: <useCompoundFile>false</useCompoundFile> Это также вызывает слияние сегментов при каждом коммите.

Единственный способ, которым я могу думать о том, как это отладить, - это вручную выполнить репликацию с помощью Solr Replication.HTTP API .

Отключите репликацию и посмотрите, как файлы обновляются в мастере Solr с помощью команды: http://host:port/solr/replication?command=indexversion

, за которой следует:

http://host:port/solr/replication?command=indexversion

Надеюсь, это поможет!

...