Установка Solr на сервер Ubuntu 14.04
Ubuntu, VPS | Комментировать запись
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: Apache Lucene, Java, Java JDK, Jetty, Linux, Lucene, schema.xml, Solr, Tomcat, Ubuntu, Ubuntu 14.04, VPS