Добавление Zookeeper в существующий Solr


У меня есть существующая настройка Solr, работающая на отдельном экземпляре Solr. Меня попросили добавить устойчивость и высокую доступность к этой установке. Поэтому я хотел бы добавить репликацию в свою настройку, для которой, как я полагаю, SolrCloud-это путь?

Я прогнал демо-версию на вики SolrCloud. Однако я не уверен, как добавить мой существующий экземпляр Solr в ZooKeeper, а затем добавить еще несколько узлов для его репликации. Возможно ли это без повторного наполнения?

Вики государства

Примечание: Если вы не используете пример для запуска solr, убедитесь, что вы загрузили набор конфигурации в zookeeper перед созданием коллекции.

Однако я не уверен, на какие файлы он ссылается и как это сделать?

Информация о настройке Cuurent:

  • Solr 4.5.1
  • 24 ГБ оперативной памяти 2vCPU
  • 66 миллионов документов в индексе
  • размер индекса 58Gb
  • время массового индекса ~50 часов
  • 4000 макс. пользователи
  • 400 средних одновременных пользователей
  • 20k обновлений в день
  • поиск пользователя через приложение solrJ
  • запрос включает группировку

Список пожеланий

  • существующий индекс Solr реплицируется на 2 новых узла
  • 3 узла Zookeeper для обеспечения устойчивости

Что я пробовал:

  • скачать Zookeeper, запустить zkserver start с настройками по умолчанию-OK
  • запуск существующей установки solr с опцией-DzkHost=actualhostname: 2181

Но я получаю ошибку от solr "не удалось загрузить конфигурацию SOLR".

Итак, я думаю, что мой вопрос сводится к:

  1. для моей установки SolrCloud-это способ пойти, а не сказать ReplicationHandler?
  2. Можно ли добавить поддержку solrCloud и ZK без повторной индексации (50 часов-это много времени)?
  3. какие конфигурационные файлы я должен добавить в zk и как?
  4. правильно ли я говорю, что без дополнительных сегментирование изменений конфигурации не является опцией, потому что я использую группировку в своих запросах?
  5. следует ли мне обновить solr 4.5.1, если да, то как далеко?
  6. самое главное, выглядит ли мой "список желаний" как хорошая идея/плохая идея/Луна на палочке? Если хорошо, то как этого добиться? Если плохо, то какие предложения?

Я довольно новичок в Solr (~12 месяцев использования) и очень новичок в Zookeeper и SolrCloud (~2 недели чтения/экспериментирования), поэтому любые советы по достижению вышеуказанного были бы очень полезны. оцененный.

2 2

2 ответа:

  • для моей установки SolrCloud-это способ пойти, а не сказать ReplicationHandler?

SolrCloud-это путь вперед с Solr, поэтому я бы сказал Да.

  • Можно ли добавить поддержку solrCloud и ZK без повторной индексации (50 часов-это много времени)?

Если вы не используете сегментирование, только реплики, нет необходимости переиндексировать.

  • Какие конфигурационные файлы я должен добавить в zk и как?

Начните свой кулак Solr с -Dbootstrap_conf=true, это загрузит ваши конфигурационные файлы в ZK.

  • Правильно ли я понимаю, что без дополнительных изменений конфигурации сегментирование не является опцией, потому что я использую группировку в своих запросах?

Зависит от того, что именно вы делаете с группировкой см. https://wiki.apache.org/solr/DistributedSearch для того, что поддерживается или нет.

  • Следует ли мне обновить solr 4.5.1, если да, то как далеко?

Обновление до последней версии-хорошая идея, хотя после Solr 4.7 вам понадобится Java 7.

  • Самое главное, выглядит ли мой "список желаний" как хорошая идея/плохая идея/Луна на палочке? Если хорошо, то как этого добиться? Если плохо, то какие предложения?

Я голосую за хорошую идею, у меня есть подобный один.

С solrcloud вы можете разделить содержимое на разные узлы, если используете несколько сегментов. Вы можете начать с одного осколка (один лидер и несколько реплик). Затем скопируйте каталоги index и tlog из Solr classic, который вы используете в данный момент, в Solr cloud leader. Таким образом, вам не нужно переиндексировать. Позже вы можете разделить сегмент, если содержимое слишком велико для одного узла или если вы хотите распространить индекс на несколько узлов. Последняя версия solr - 4.10.3. Почему бы не использовать это вместо 4.5.1?

Документация Solr довольно хорошо объясняет, как создать содержимое zk: https://cwiki.apache.org/confluence/display/solr/SolrCloud + конфигурация+и + параметры

По существу, когда вы запускаете свой первый узел Solr cloud, вы сообщаете ему, где находится кластер zk, или у вас есть выбор, чтобы запустить zk на том же узле, что и solr. Вам также нужно сказать ему, где находятся конфигурационные файлы, так как он будет копировать их на zk.