Репликация в распределенном конфиге Solr - PullRequest
4 голосов
/ 03 ноября 2011

Я пытаюсь добавить репликацию для каждого ведомого в облаке Solr , чтобы сделать весь кластер более надежным. Идея состоит в том, чтобы распределить один осколок на несколько машин, чтобы кластер работал, даже если одна из машин не работает.

Solr имеет отличную встроенную функцию репликации , которая отлично работает при обычной (не распространяемой) настройке Solr. Однако при добавлении этой функции в облако Solr я получаю сообщение о том, что обработчик /solr/replication не найден (и на самом деле он не отображается в выводе Solr при запуске Solr, хотя он определен в solrconfig.xml).

SolrWiki также указывает на распределенный обработчик обновлений , но из заметки автора я понимаю, что он на самом деле не реплицирует данные, а просто отправляет новые документы на один из узлов , определенных в конфигурации.

Мои вопросы:

  1. Почему встроенная репликация на основе Java не работает в распределенной установке Solr? Это проблема с облаком Solr, более фундаментальная проблема или просто ошибка в моей конфигурации (я проверял все несколько раз, но все еще мог что-то пропустить)?
  2. Каковы другие хорошие подходы к репликации в распределенном Solr?

1 Ответ

1 голос
/ 31 июля 2012

Хотя я немного опоздал на вечеринку здесь по старому вопросу; Ответ в том, что Solr Cloud самостоятельно выполняет репликацию. Вики-страница Solr Cloud объясняет это подробно. Если вы установили numShards = 2 и добавили больше серверов (всего их будет четыре), то этот сегмент будет реплицирован на новые серверы, что гарантирует, что ваш фрагмент будет находиться на нескольких узлах.

Чтобы ответить на ваши вопросы напрямую;

  1. SolrCloud выполняет настройку и логику репликации за вас, и вы должны позволить ему сделать это самостоятельно, вместо того, чтобы вводить репликацию "ручной" настройки в миксе.

  2. Весь смысл SolrCloud состоит в том, чтобы скрыть логику репликации и совместного использования, позволяя вам просто добавлять больше серверов по мере их доступности. Конечно, вы можете создавать логически отдельные облачные кластеры и индексировать их, но в этом нет необходимости.

...