Как запустить Solr 4 в Tomcat локально?

я пытался установить Solr 4.3 на моем домашнем ПК (в Tomcat 7), но это не такТ беги. Я настроил Tomcat и развернулsolr.war файл, который распаковывается и отображается на экране диспетчера веб-приложений Tomcat в Tomcat, но не запускается, и нажатие кнопки «Пуск» не вызываетничего не делать (так как он должен быть запущен в первую очередь).

Вот мойsolr.xml файл контекста в Tomcat, который также дает путь к файлу solr.war и где находятся мои ядра solr (по умолчанию это Collection1):




это журнал ошибок в Tomcat:

INFO: Starting Servlet Engine: Apache Tomcat/7.0.40
Jun 09, 2013 11:04:07 PM org.apache.catalina.startup.HostConfig deployDescriptor
INFO: Deploying configuration descriptor C:\LocalApps\Tomcat\apache-tomcat-7.0.40\conf\Catalina\localhost\solr.xml
Jun 09, 2013 11:04:07 PM org.apache.catalina.startup.HostConfig deployDescriptor
WARNING: A docBase C:\LocalApps\Tomcat\apache-tomcat-7.0.40\webapps\solr.war inside the host appBase has been specified, and will be ignored
Jun 09, 2013 11:04:07 PM org.apache.catalina.startup.SetContextPropertiesRule begin
WARNING: [SetContextPropertiesRule]{Context} Setting property 'debug' to '0' did not find a matching property.
Jun 09, 2013 11:04:09 PM org.apache.catalina.core.StandardContext startInternal
SEVERE: Error filterStart
Jun 09, 2013 11:04:09 PM org.apache.catalina.core.StandardContext startInternal
SEVERE: Context [/solr] startup failed due to previous errors
 kenorb28 мая 2015 г., 14:29

Ответы на вопрос(6)

Проверьте локальные журналы localhost_yyyy_mm_dd.log, созданные Tomcat. Обычно это должно показать вам причину этой проблемы. Полная трассировка стека может не отображаться в консоли ...

 Learner11 июн. 2013 г., 17:40
Проверьте эту ссылкуdhalsim2.blogspot.com/2010/09/...

Вот инструкция, предоставленнаяТони в Друпале для Windows с установленным XAMPP:

прелиминарииСделай себе хорошую чашку чаяУбедитесь, что у вас установлена среда Windows Java. Это'до версии 6 на данный момент.Я предполагаю, что вы используете XAMPP для запуска Apache и MySQL и последней версии PHP5Установка TomcatЕсли вы установили XAMPP с Tomcat, перейдите в свой Service Tray, остановите службы XAMPP и удалите каталог Tomcal из вашей установки XAMPP. Затем перезапустите XAMPP снова. Причина в том, что вы хотите легко настраивать Tomcat из панели служб в Windows. Если Tomcat работает под XAMPP, он не отображается в панели служб.Перед установкой Tomcat скопируйте файл c: \ windows \ microsoft.net \ framework \ v1.1.4322 \ msvcr71.dll в c: \ windows \ system32 \ msvcr71.dll, если вы нене делай этого, Tomcat выигралначать.Теперь установите Tomcat 6.x. Запустите его. Вы должны получить страницу, показывающую наHTTP: // локальный: 8080 если Tomcat работает.Посмотрите на файловую структуру Tomcat. Это очень просто. Обратите внимание на каталог под названием webapps.Теперь выпей чашку хорошего чая.

Если ты'на Linux, проверьте:Установка Apache Solr 4.6.0.

Загрузите последний файл solr-4.x.zip.Извлеките zip-файл куда-нибудь, например, в C: \ solr setup.Должны быть установлены Apache Tomcat (версия более 5) и Java 6 или выше. Скопируйте файл solr-4.x.war из «C: \ solr setup \ solr-4.3.0 \ dist ” чтобы «Apache Tomcat ” папку webapps, скорее всего, в C: \ Program Files \ Apache ... \ Tomcat ... \ webapps \ и переименуйте скопированный военный файл в какое-нибудь значимое имя, например solrTest.Start Tomcat. Если он уже запущен, перезапустите Tomcat. Будет создана новая папка с тем же именем, что и у файла war (solrTest).Стоп Tomcat. Скопируйте папки bin и collection1 из C: \ solr setup \ solr-4.x \ example \ solr в C: \ Program Files \ Apache ... \ Tomcat ... \ webapps \ solrTest.Скопируйте все jar-файлы из C: \ solr setup \ solr-4.x \ example \ lib \ ext в C: \ Program Files \ Apache ... \ Tomcat ... \ lib. SOLR 4.x будет использовать эти банки для регистрации.Создайте xml-файл в C: \ Program Files \ Apache ... \ Tomcat ... \ conf \ Catalina \ localhost \ с тем же именем, что и у файла war (solrTest.xml), с содержимым, как указано ниже. Tomcat ищет этот XML-файл, чтобы запустить приложение.Обновите C: \ Program Files \ Apache ... \ Tomcat ... \ webapps \ solrTest \ collection1 \ conf \ schema.xml, добавьте обязательные поля и обновите их.Удалите поля копирования, если не требуется. Использование полей копирования доступно в том же файле.Обновите C: \ Program Files \ Apache ... \ Tomcat ... \ webapps \ solrTest \ collection1 \ conf \ solrconfig.xml. Обновите физический путь индекса в теге, например, $ {solr.data.dir: C: / Indexes / solrTest Index /}. Если это будет прокомментировано, то по умолчанию будет использоваться каталог C: \ Program Files \ Apache ... \ Tomcat ... \ webapps \ solrTest \ collection1 \ data \. Тег DataDir доступен в файле. Не нужно добавлять свои собственные.Обновите записи репликации, чтобы задать либо главный, либо подчиненный в обработчике запросов на репликацию.Попробуйте получить доступ к «... локальный: номер_порт / solrTest», Если ошибки не возникает, значит, вы успешно настроили SOLR 4.x.
 Антон Курьян25 февр. 2014 г., 19:27
Спасибо, этот комментарий помог мне решить мою проблему

У меня были некоторые проблемы с тем же, официальная документация не очень помогает в этом. Я написалСообщение блога об этом, который гласит:

Solr установить

Скачайте и распакуйте последнюю версию Solr, где-нибудь на диске.

cd /tmp
wget "http://mirrors.ircam.fr/pub/apache/lucene/solr/4.6.0/solr-4.6.0.tgz"
cd /opt
sudo tar zxvf /tmp/solr-4.6.0.tgz
sudo chown -R tomcat:tomcat solr-4.6.0

Здесь я использую / opt, но вы можете установить его где угодно, если Tomcat имеет к нему доступ. Просто чтобы быть уверенным, сделайте Tomcat владельцем, чтобы он мог читать и писать в папках Solr.

развертывание

Теперь давайтеРазвернуть веб-приложение Solr на Tomcat. Для этого мы воспользуемся файлом конфигурации контекста XML, который мы будем использовать для развертывания и настройки Solr.

В папке установки Tomcat создайте новый файл конфигурации контекста XML в conf / Catalina / localhost. Базовое имя файла будет определять путь контекста Solr.

Сначала нам нужно определить $ {solr.home}. Здесь мы используем пример конфигурации Solr, предоставленной в дистрибутиве. Он находится в /opt/solr-4.6.1/example/solr.

Чтобы избежать ошибок при запуске, нам нужно добавить несколько jar-файлов в classpath веб-приложения, расположенный в /opt/solr-4.6.1/example/lib/ext. Но мы нене хочу загрязнять Tomcats папка lib с jar-файлами Solr, поэтому мы просто объявляем виртуальный загрузчик.

Нам также нужно правильно настроить Log4J. Здесь мы используем файл конфигурации Log4J, предоставленный в дистрибутиве Solr в /opt/solr-4.6.1/example/resources, путем добавления папки в путь к классам Solr.



  
  

Сохраните файл, подождите, пока Tomcat его прочитает, и разверните войну.

Тот'сидеть! Solr запущен и работает.

 Peter Murray12 сент. 2018 г., 03:47
Этот ответ должен быть выше из-за этого:Но мы нене хочу загрязнять Tomcats папка lib с Solr jars, поэтому мы просто объявляем виртуальный загрузчик " плюс последующие инструкции по модификацииtomcat7/conf/Catalina/localhost/solr.xml
Решение Вопроса

Вот.

Просто скопируйте все упомянутые файлы в директорию tomcat / lib. И перезапустите Tomcat.

Скопируйте банки изsolr/example/lib/ext в ваш контейнерs основной каталог lib. Эти банки будут созданыSLF4J а такжеlog4j, Точно, где этот каталог lib очень изменчив. Для сервера Debian или Ubuntu, использующего пакет Tomcat, доступный у поставщика ОС, это может быть/usr/share/tomcat6/lib или же ./usr/share/tomcat7/libСкопируйте конфигурацию регистрации изsolr/example/resources/log4j.properties в место наclasspath, Обычно вы можете использовать то же место, что и файлы jar выше. Отредактируйте файл конфигурации для вашего предпочтительного места назначения журнала.Необязательно, если вы не поместили log4j.properties в путь к классам, установитеjava option -Dlog4j.configuration=file:///path/to/log4j.properties
 jsnoob18 июн. 2013 г., 01:36
В какой-то момент в устранении неполадок я пропустил закрывающий тег xml, который стал причиной последней проблемы, с которой я столкнулся. Добавление файлов jar для журналов стало решением моей первоначальной проблемы.
 jsnoob12 июн. 2013 г., 02:57
Добавление этих файлов JAR / log.properties показывает, что Solr работает в Tomcat, но я получаю ошибку HTTP Status 503. Вот файл журнала: ПРЕДУПРЕЖДЕНИЕ: docBase c: \ LocalApps \ Tomcat \ apache-tomcat-7.0.40 \ webapps \ solr.war внутри хоста appBase было задано и будет игнорироваться 10 июня 2013 г. 8:56: 39 PM org.apache.catalina.startup.SetContextPropertiesRule begin ВНИМАНИЕ: [SetContextPropertiesRule] {Context} Установка свойства 'отладки» до 0 не нашел подходящего свойства. 10 июня 2013 г. 20:56:40 org.apache.catalina.startup.HostConfig deployDirectory
 SnapShot18 мар. 2014 г., 22:59
Не уверен, почему этого нет на вики-странице Solr Tomcat на apache.org. Я точно следовал там инструкциям, но solr был недоступен, пока я не скопировал файлы, как было предложено.

Самый простой способ начать работу с Solr на Tomcat - это использовать HDS (Heliosearch Distribution for Solr),Распределение Tomcat / Solr

Это'Супер-набор Apache Solr, содержащий дополнительныйсервер» предварительно настроенный каталог (потоки, ведение журнала, параметры подключения, размеры сообщений и т. д.) сервер Solr на основе Tomcat.

Некоторые другие замечания по реализации:

Сценарии запуска могут быть запущены из любого места и позволяют передавать аргументы JVM в командной строке (точно так же, как в jetty, что упрощает использование)сценарии запуска работают вокруг известных ошибок JVMсценарии запуска позволяют устанавливать порт из командной строки, а также порт остановки по умолчанию на основе порта http, что позволяет легко запускать несколько серверов на одном компьютере)zkcli, стартовый скрипт для инструмента solr zookeeper, при необходимости автоматически взорвет WAR"сервер» каталог был сохранен в чистоте, но заполнил весь tomcat под "Сервер / дц» каталог

Начать:

$ cd server
$ bin/startup.sh

Чтобы начать с другого порта (например, 7574):

$ cd server
$ bin/startup.sh -Dhttp.port=7574

Выключить:

$ cd server
$ bin/shutdown.sh -Dhttp.port=7574

Скрипты даже принимают -Djetty.port = 7574, чтобы упростить процесс вырезания и вставки из начальных примеров с помощью jetty. "пример" каталог все еще там, так что вы можете запустить сервер на базе Jetty, если хотите.

 Krunal08 янв. 2015 г., 11:48
Я только что попробовал HelioSearch, и это действительно здорово! Пожалуйста, сообщите мне, если есть какой-либо способ скрыть консоль и запустить ее как службу Windows?

Ваш ответ на вопрос