Установка Solr на сервер Ubuntu 14.04

Published by Leave your thoughts

Solr – это поисковая платформа, основанная на Apache Lucene и написанная в Java. Для выполнения индексации Solr использует библиотеку Lucene. Эта поисковая платформа доступна через различные REST API (например, XML и JSON). На сайте проекта разработчики выделяют следующие особенности Solr:

  • Усовершенствованный полнотекстовый поиск;
  • Оптимизация под высокий веб-трафик;
  • Стандартные открытые интерфейсы (XML, JSON и HTTP);
  • Интуитивно понятные HTML-интерфейсы;
  • Статистика сервера, доступная для мониторинга JMX;
  • Линейное масштабирование, автоматические репликация, аварийное переключение и восстановление;
  • Индексация в реальном времени;
  • Гибкость и адаптируемость с конфигурациями XML;
  • Расширяемость за счет плагинов.

В данной статье речь пойдет об установке Solr в Ubuntu двумя способами; первый способ прост, второй – более продвинутый. Рекомендуется  использовать второй способ, поскольку он позволяет установить новую версию Solr на все версии Ubuntu (даже на 14.04, последнюю версию системы к моменту написания статьи).

Установка Solr с помощью apt-get

Данный раздел статьи описывает простой способ установки Solr. Обратите внимание: Solr не работает в одиночку; для работы Solr нужен контейнер сервлетов Java, такой как Tomcat или Jetty. В данной статье будет использоваться Jetty. Во-первых, нужно установить Java JDK. Чтобы установить пользовательскую версию, пожалуйста, обратитесь к этой статье. Чтобы выполнить простую установку, запустите следующие команды:

sudo apt-get -y install openjdk-7-jdk
mkdir /usr/java
ln -s /usr/lib/jvm/java-7-openjdk-amd64 /usr/java/default

По умолчанию Ubuntu предоставляет 3 пакета Solr: solr-common (пакет с кодом Solr), solr-tomcat (код Solr объединен с Tomcat) и solr-jetty (Solr с сервером Jetty). В данном руководстве будет использоваться solr-tomcat; запустите команду установки:

sudo apt-get -y install solr-tomcat

Готово! Теперь платформа Solr доступна по ссылке http://IP_АДРЕС:8080/solr. Пропустите следующий раздел о ручной установке и приступайте к настройке программы.

Установка Solr вручную

Ручная установка Solr займет больше времени. Для начла нужно установить Java JDK. Чтобы установить пользовательскую версию, пожалуйста, прочтите эту статью. В данном разделе вместо Tomcat будет использоваться Jetty. Чтобы выполнить простую установку, запустите следующие команды:

sudo apt-get -y install openjdk-7-jdk
mkdir /usr/java
ln -s /usr/lib/jvm/java-7-openjdk-amd64 /usr/java/default

Теперь можно приступать к установке Solr. Загрузите файлы и распакуйте их:

cd /opt
wget http://archive.apache.org/dist/lucene/solr/4.7.2/solr-4.7.2.tgz
tar -xvf solr-4.7.2.tgz
cp -R solr-4.7.2/example /opt/solr
cd /opt/solr
java -jar start.jar

Проверьте, работает ли ссылка http://IP_АДРЕС:8983/solr. Если все работает должным образом, вернитесь в SSH-сессию и закройте окно, нажав Ctrl+C. Затем откройте файл /etc/default/jetty (при помощи nano /etc/default/jetty) и внесите в него:

NO_START=0 # Start on boot
JAVA_OPTIONS="-Dsolr.solr.home=/opt/solr/solr $JAVA_OPTIONS"
JAVA_HOME=/usr/java/default
JETTY_HOME=/opt/solr
JETTY_USER=solr
JETTY_LOGS=/opt/solr/logs

Сохраните файл, затем откройте /opt/solr/etc/jetty-logging.xml (с помощью nano /opt/solr/etc/jetty-logging.xml) и внесите в него:

<?xml version="1.0"?>
<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd">
<!-- =============================================================== -->
<!-- Configure stderr and stdout to a Jetty rollover log file -->
<!-- this configuration file should be used in combination with -->
<!-- other configuration files.  e.g. -->
<!--    java -jar start.jar etc/jetty-logging.xml etc/jetty.xml -->
<!-- =============================================================== -->
<Configure id="Server" class="org.mortbay.jetty.Server">
<New id="ServerLog" class="java.io.PrintStream">
<Arg>
<New class="org.mortbay.util.RolloverFileOutputStream">
<Arg><SystemProperty name="jetty.logs" default="."/>/yyyy_mm_dd.stderrout.log</Arg>
<Arg type="boolean">false</Arg>
<Arg type="int">90</Arg>
<Arg><Call class="java.util.TimeZone" name="getTimeZone"><Arg>GMT</Arg></Call></Arg>
<Get id="ServerLogName" name="datedFilename"/>
</New>
</Arg>
</New>
<Call class="org.mortbay.log.Log" name="info"><Arg>Redirecting stderr/stdout to <Ref id="ServerLogName"/></Arg></Call>
<Call class="java.lang.System" name="setErr"><Arg><Ref id="ServerLog"/></Arg></Call>
<Call name="setOut"><Arg><Ref id="ServerLog"/></Arg></Call></Configure>

Затем создайте пользователя Solr и передайте ему все привилегии:

sudo useradd -d /opt/solr -s /sbin/false solr
sudo chown solr:solr -R /opt/solr

После этого нужно загрузить стартовый файл (если он не был загружен ранее):

sudo wget -O /etc/init.d/jetty http://dev.eclipse.org/svnroot/rt/org.eclipse.jetty/jetty/trunk/jetty-distribution/src/main/resources/bin/jetty.sh
sudo chmod a+x /etc/init.d/jetty
sudo update-rc.d jetty defaults

Теперь запустите Jetty/Solr:

sudo /etc/init.d/jetty start

Готово! Поисковая платформа Solr теперь доступна по http://IP_АДРЕС:8983/solr.

Настройка Solr (файл schema.xml)

Для начала нужно переименовать /opt/solr/solr/collection1, выбрав более удобное и понятное имя (в данном руководстве этот файл будет называться apples, но, конечно, можно выбрать любое имя).

Примечание: при установке Solr через apt-get данное действие можно пропустить. В этом случае нужно выполнить другую команду: cd /usr/share/solr.

cd /opt/solr/solr
mv collection1 apples
cd apples

После установки Solr вручную нужно также открыть файл core.properties (nano core.properties) и указать только что выбранное имя.

Затем удалите каталог data и отредактируйте файл schema.xml:

rm -R data
nano conf/schema.xml

Сюда нужно вставить свои собственные данные schema.xml. Варианты конфигурации schema.xml можно поискать в интернете, а можно просто обратиться к репозиторию Solr. Затем перезапустите Jetty/Tomcat:

при установке с помощью apt-get:

sudo service tomcat6 restart

для продвинутой установки:

sudo /etc/init.d/jetty restart

Теперь вышеуказанная ссылка будет открывать панель управления Solr.

Готово! Теперь на виртуальный выделенный сервер установлена поисковая платформа Solr.

Tags: , , , , , , , , , , ,

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *


*

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>