Гид по технологиям

Установка Apache Solr на Ubuntu 16.04 LTS

• 4 min read • DevOps • Обновлено 19 Nov 2025
Установка Apache Solr на Ubuntu 16.04
Установка Apache Solr на Ubuntu 16.04

Что такое Apache Solr?

Apache Solr — это поисковая платформа корпоративного класса с открытым исходным кодом, написанная на Java. Она позволяет создавать собственные поисковые движки, индексирующие базы данных, файлы и сайты. Solr использует в основе Apache Lucene и поддерживает рекомендации по найденному контенту, подсветку фрагментов (snippets) и XML‑ориентированный язык запросов/ответов. Для взаимодействия доступны API для Python, Ruby и JSON.

Ключевые возможности:

  • Полнотекстовый поиск.
  • Генерация сниппетов и подсветка совпадений.
  • Настраиваемая сортировка/ранжирование документов.
  • Подсказки орфографии (spell suggestions).

Важно: в этой инструкции показано развертывание Solr версии 6.x на Ubuntu 16.04 LTS — шаги обычно применимы и для более поздних версий Ubuntu и Solr, но интерфейс и пакеты могут отличаться.

Требования и подготовка

Необходимое ПО и доступы:

  • Ubuntu 16.04 LTS (или совместимая версия).
  • Учетная запись с правами sudo (не рекомендуется использовать root напрямую).
  • Доступ в интернет для загрузки пакетов и дистрибутива Solr.
  • Java Runtime Environment (JRE) 8.

Рекомендация: для production-развертываний добавьте резервные копии, мониторинг и правила брандмауэра, ограничивающие доступ к портам управления.

Обновление системы

Войдите на сервер под пользователем с sudo и выполните обновление пакетов:

sudo apt-get update && apt-get upgrade -y

Обновление системы Ubuntu и установка пакетов.

Установка среды выполнения Java

Solr — Java-приложение, поэтому требуется JRE/JDK. В примере используем Oracle Java 8 через PPA. Для добавления репозитория установим python-software-properties (в старых Ubuntu это помогает работать с add-apt-repository):

root@server1:~# sudo apt-get install python-software-properties

При подтверждении нажмите Y.

Установка python-software-properties для управления PPA.

Добавьте PPA webupd8team и обновите список пакетов:

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update

Обновление списка пакетов после добавления PPA.

Установите Oracle Java 8:

sudo apt-get install oracle-java8-installer

При установке вам будет предложено принять лицензию Oracle — подтвердите её.

Принятие лицензионного соглашения Oracle Java.

Процесс скачивания и установки может занять некоторое время.

Загрузка и установка Java через инсталлятор.

Проверьте версию Java после установки:

java -version

Пример вывода:

java version "1.8.0_91"
Java(TM) SE Runtime Environment (build 1.8.0_91-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode)

Теперь Java 8 установлена и можно переходить к установке Solr.

Установка Apache Solr

В этом руководстве мы скачиваем официальный дистрибутив Solr и устанавливаем его как системный сервис.

  1. Перейдите во временный каталог и скачайте архив Solr (в примере используется версия 6.0.1):
cd /tmp
wget http://www.us.apache.org/dist/lucene/solr/6.0.1/solr-6.0.1.tgz

Пример загрузки:

root@server1:/tmp# wget http://www.us.apache.org/dist/lucene/solr/6.0.1/solr-6.0.1.tgz
--2016-06-03 11:31:54-- http://www.us.apache.org/dist/lucene/solr/6.0.1/solr-6.0.1.tgz
Resolving www.us.apache.org (www.us.apache.org)... 140.211.11.105
Connecting to www.us.apache.org (www.us.apache.org)|140.211.11.105|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 137924507 (132M) [application/x-gzip]
Saving to: ‘solr-6.0.1.tgz’
  1. Извлеките скрипт установки сервиса из архива и запустите его:
tar xzf solr-6.0.1.tgz solr-6.0.1/bin/install_solr_service.sh --strip-components=2
sudo ./install_solr_service.sh solr-6.0.1.tgz

Ожидаемый вывод установки (сокращён):

root@server1:/tmp# sudo ./install_solr_service.sh solr-6.0.1.tgz
id: ‘solr’: no such user
Creating new user: solr
Adding system user `solr' (UID 111) ...
Adding new group `solr' (GID 117) ...
Creating home directory `/var/solr' ...
Extracting solr-6.0.1.tgz to /opt
Installing symlink /opt/solr -> /opt/solr-6.0.1 ...
Installing /etc/init.d/solr script ...
Installing /etc/default/solr.in.sh ...
Started Solr server on port 8983 (pid=20989). Happy searching!
Service solr installed.

Проверьте статус сервиса:

service solr status

Пример ожидаемого вывода:

root@server1:/tmp# service solr status
? solr.service - LSB: Controls Apache Solr as a Service
 Loaded: loaded (/etc/init.d/solr; bad; vendor preset: enabled)
 Active: active (exited) since Fri 2016-06-03 11:37:05 CEST; 39s ago
Started LSB: Controls Apache Solr as a Service.

Создание коллекции в Solr

Solr поддерживает несколько коллекций (cores). Создадим коллекцию с именем gettingstarted и конфигурацией data_driven_schema_configs:

sudo su - solr -c "/opt/solr/bin/solr create -c gettingstarted -n data_driven_schema_configs"

Пример отклика:

root@server1:/tmp# sudo su - solr -c "/opt/solr/bin/solr create -c gettingstarted -n data_driven_schema_configs"
Copying configuration to new core instance directory:
/var/solr/data/gettingstarted
Creating new core 'gettingstarted' using command:
http://localhost:8983/solr/admin/cores?action=CREATE&name=gettingstarted&instanceDir=gettingstarted
{
 "responseHeader":{
 "status":0,
 "QTime":4427},
 "core":"gettingstarted"}

Конфигурационные файлы коллекции находятся по пути:

/opt/solr/server/solr/configsets/data_driven_schema_configs/conf

Веб-интерфейс Solr

По умолчанию Solr доступен на порту 8983. Откройте браузер и перейдите по адресу:

http://:8983/solr/

Например:

http://192.168.1.100:8983/solr/

Веб-интерфейс администрирования Solr.

Выберите коллекцию gettingstarted в левом меню, чтобы увидеть её детали.

Информация о коллекции gettingstarted в веб-интерфейсе Solr.

Чтобы добавить документ через UI, откройте раздел Documents и вставьте JSON-пример:

{
 "id": 1,
 "book_title": "My First Book",
 "published": 1985,
 "description": "All about Linux"
}

Нажмите Submit Document. При успешной загрузке в ответе вы увидите статус success:

Status: success
Response:

{
 "responseHeader": {
 "status": 0,
 "QTime": 189
 }
}

Выполните запрос на вкладке Query — по умолчанию запрос : вернёт все документы:

q=*:*&wt=json

Пример ответа:

{
  "responseHeader":{
    "status":0,
    "QTime":24,
    "params":{
      "q":"*:*",
      "indent":"on",
      "wt":"json"}},
  "response":{"numFound":1,"start":0,"docs":[
      {
        "id":"1",
        "book_title":["My First Book"],
        "published":[1985],
        "description":["All about Linux"],
        "_version_":1536108205792296960}]
  }}

Выполнение запроса в Solr и просмотр ответа.

Готовый образ виртуальной машины

Этот урок доступен как готовый образ виртуальной машины (ovf/ova) для подписчиков Howtoforge. Форматы совместимы с VMWare и VirtualBox. Учётные данные по умолчанию:

SSH / Shell Login

Username: administrator Password: howtoforge

Этот пользователь имеет права sudo. Смените пароли после запуска виртуальной машины.

Критерии приёмки

  • Solr запущен как системный сервис (service solr status => active).
  • Веб-интерфейс доступен по http://:8983/solr/ и открывается в браузере.
  • Создана коллекция gettingstarted и добавлен хотя бы один документ.
  • Запрос q=: возвращает добавленный документ.

Шпаргалка — часто используемые команды

  • Проверка статуса сервиса:
service solr status
  • Остановка и запуск сервиса:
sudo service solr stop
sudo service solr start
sudo service solr restart
  • Создание коллекции:
sudo su - solr -c "/opt/solr/bin/solr create -c <имя> -n <конфиг>"
  • Управление коллекциями через HTTP API:
http://localhost:8983/solr/admin/cores?action=STATUS

Чек-листы для ролей

Администратор:

  • Убедиться, что Java установлена и доступна.
  • Установить Solr как сервис и настроить брандмауэр.
  • Настроить бекап конфигурации /var/solr и /opt/solr.

Разработчик/интегратор:

  • Проверить схему коллекции и соответствие полей.
  • Подготовить парсер данных для импорта в JSON.
  • Протестировать запросы и подсветку фрагментов.

Оператор/DevOps:

  • Настроить мониторинг (метрики JVM, использование памяти, GC).
  • Настроить логирование и ротацию логов.
  • Планировать масштабирование и шардирование в будущем.

Когда это может не сработать

  • Если на сервере уже установлена несовместимая версия Java (не 8), Solr версии 6 может некорректно работать.
  • Если порт 8983 заблокирован брандмауэром или используем другим сервисом.
  • При нехватке ресурсов JVM (памяти) возможны ошибки индексации или падение сервиса.

Решения: убедитесь в версии Java, откройте порт в UFW/iptables и оцените ресурсы — при необходимости увеличьте память/CPU или запустите Solr в кластере.

Альтернативные подходы

  • Elasticsearch — альтернатива с совместимым стеком и крупным сообществом.
  • Managed search services (например, облачные сервисы) — для уменьшения администрирования.
  • Использовать контейнеры (Docker) для изоляции и упрощённого деплоя.

Руководство по откату и восстановлению (runbook)

  1. Если сервис нестабилен — остановите Solr:
sudo service solr stop
  1. Восстановите конфигурацию из бекапа (если есть): скопируйте каталог конфигов в /var/solr/data//conf и перезагрузите сервис.

  2. Проверка состояния после восстановления:

sudo service solr start
service solr status
  1. Если требуется полное удаление и повторная установка — удалите /opt/solr и системного пользователя solr, затем запустите инсталлятор заново.

Безопасность и рекомендации

  • В production ограничьте доступ к админ-интерфейсу Solr (настройте брандмауэр или обратный прокси с аутентификацией).
  • Регулярно обновляйте Java и Solr до поддерживаемых безопасных версий.
  • Настройте бекап индексов и конфигураций.

Короткая методология развёртывания (mini-checklist)

  1. Обновить систему и установить зависимости.
  2. Установить корректную версию Java.
  3. Скачать и установить Solr как сервис.
  4. Создать коллекции и загрузить тестовые данные.
  5. Настроить мониторинг, бекапы и безопасность.

Заключение

После установки и базовой проверки вы сможете добавлять документы и выполнять поиск при помощи API и веб-интерфейса Solr. Для production-развёртывания дополните инструкцию настройками мониторинга, бекапов, безопасности и масштабирования.

Примечание: адаптируйте шаги под вашу версию Ubuntu и Solr — в более новых релизах команды и пакеты могут незначительно отличаться.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро