Настройка нескольких ядер Tomcat SOLR

Я потратил все утро, пытаясь настроить несколько ядер на установке SOLR, которая работает под сервером Apache Tomcat без успеха. Мой файл solr.xml выглядит следующим образом:

<solr persistent="false" sharedLib="lib">
  <cores adminPath="/admin/cores">
    <core name="core0" instanceDir="/multicore/core0">   
        <property name="dataDir" value="/multicore/core0/data" />
    </core>
    <core name="core1" instanceDir="/multicore/core1">
        <property name="dataDir" value="/multicore/core1/data" />
    </core>
  </cores>
</solr>

Какова правильная структура каталогов? Мне нужно что-то изменить в файле solrconfig.xml?

Ответы

Ответ 1

Проверьте, что ваши значения instanceDir относятся к -Dsolr.solr.home. Если -Dsolr.solr.home является "многоядерным", тогда ваш экземплярDir должен быть только "core0".

Если вы поместите свою папку данных в свой экземплярDir, вам не нужно указывать ее путь:

<?xml version='1.0' encoding='UTF-8'?>
<solr persistent="true">
<cores adminPath="/admin/cores">
    <core name="core0" instanceDir="core0" />
    <core name="core1" instanceDir="core1" />
</cores>
</solr>

Вам не нужно ничего устанавливать в файле solrconfig.xml. Но если вам нужно настроить обработчик независимо от основного местоположения, вы можете использовать переменную ${solr.core.instanceDir}.

UPDATE

Чтобы установить переменную solr.solr.home с помощью Tomcat, перед запуском Tomcat используйте переменную окружения JAVA_OPTS:

JAVA_OPTS="-Dsolr.solr.home=multicore"
export JAVA_OPTS
tomcat/bin/catalina.sh start

Убедитесь, что "многоядерный" установлен правильно относительно рабочего каталога. Например, если solr.solr.home = 'multicore', вы должны запустить Tomcat из каталога, где находится "многоядерный".

Ответ 2

Это очень поздно в игре, но я просто разместил сообщение в блоге с инструкциями для многоядерного экземпляра SOLR на Tomcat, который читает

  1. Загрузили и установили 32-разрядную/64-разрядную службу Windows Установщик для Tomcat
  2. Установленный Tomcat на сервере (нет специальные инструкции здесь - просто запустите установку и установите где угодно вы хотите)
  3. Проверьте установку Tomcat, перейдя по адресу http://localhost: 8080
  4. Изменить Tomcat's conf/server.xml и добавить URIEncoding = "UTF-8" к < Разъем > как показано здесь.
  5. Загрузить SOLR из одного из найденных здесь зеркал (скачан apache-solr-1.4.1.zip пакет) и разархивируйте пакет.
  6. Создайте каталог, в котором SOLR (в моем случае я использовал e:\inetpub\solr)
  7. Копировать содержимое каталога example\solr для вашего Каталог хостов SOLR (в моем случае e:\inetpub\solr)
  8. Создать каталогов в вашем каталоге хостов SOLR для каждого из ядер, которые вы хочу создать (я создал дюжину или около того папок для каждого ядра, которое я хотел для создания в каталоге e:\inetpub\solr. Каталоги включая en-US, en-CA, en-GB и т.д.).
  9. Скопируйте файл solr.xml из example\multicore и вставьте его в свой Каталог хостов SOLR (e:\inetpub\solr для моего примера)
  10. Изменить файл solr.xml, чтобы включить информацию для каждого созданных вами сердечников (если вы создали папку под своим хостом для ядро с именем ru-US, затем добавьте следующее под & Л; сердечники > элемент в файле solr.xml: < core name= "en-US" instanceDir = "en-US" / > )  
  11. Остановить службу Tomcat
  12. Скопировать файл * solr *.war из каталог dist в распакованном пакете SOLR в папку Tomcat webapps.
  13. Переименуйте * solr *.war файл to solr.war
  14. В области уведомлений в правой части панели задач Windows щелкните правой кнопкой мыши значок Apache Tomcat 7 и выберите Настроить
  15. Нажмите Javaи добавьте следующее в текст Параметры Java. box: -Dsolr.solr.home = e:\inetpub\solr (изменение e:\inetpub\solr в любом месте, где размещается ваш SOLR)
  16. Нажмите ОК в диалоговом окне, а затем запустите Tomcat service
  17. Откройте файлы conf\solrconfig.xmlпод каждым из созданных вами ядер и измените dataDir, чтобы указать на конкретный. Каталог Если этот шаг не будет завершен, все ваши ядра будут использовать то же хранилище данных для своих данных.
  18. Остановить и перезапустите службу Tomcat
  19. Проверьте, что ваши ядра запущены путем запуска запроса из веб-браузера http://localhost: 8080/solr/en-US/select? q = *: * (заменить "en-US" с тем, что вы назвали одним из ваших ядер)