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

Установка Apache Solr на Ubuntu 22.04

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

Диаграмма Apache Solr и схема взаимодействия компонентов

Apache Solr — свободная, открытая и популярная система полнотекстового поиска и индексирования в реальном времени. Solr масштабируется горизонтально, устойчив к сбоям и оптимизирован для высокой нагрузки в интернете. Написан на Java; поддерживает распределённое индексирование, репликацию и балансировку нагрузки с автоматическим переключением и восстановлением.

Что вы получите в этой инструкции

  • Быструю последовательность команд для установки Solr 8.11.1 на Ubuntu 22.04.
  • Проверки работоспособности и базовое управление сервисом через systemd.
  • Создание коллекции и советы по безопасности и масштабированию.

Предварительные условия

  • Сервер с Ubuntu 22.04.
  • Настроен root‑доступ или учётная запись с sudo.

Установка Java JDK

Apache Solr работает на Java, поэтому перед установкой Solr необходимо установить JDK. Если Java не установлена, выполните:

apt-get install default-jdk -y

Проверьте версию Java:

java -version

Пример ожидаемого вывода (у вас он может отличаться):

openjdk version "11.0.15" 2022-04-19
OpenJDK Runtime Environment (build 11.0.15+10-Ubuntu-0ubuntu0.22.04.1)
OpenJDK 64-Bit Server VM (build 11.0.15+10-Ubuntu-0ubuntu0.22.04.1, mixed mode, sharing)

Краткое определение: JDK — комплект разработки Java, содержащий виртуальную машину и инструменты для запуска Java‑приложений.

Установка Apache Solr на Ubuntu 22.04

В примерах используется Solr 8.11.1. Перед установкой проверьте актуальную версию на официальном сайте: https://lucene.apache.org/solr/

Скачайте архив Solr:

wget https://downloads.apache.org/lucene/solr/8.11.1/solr-8.11.1.tgz

Распакуйте архив:

tar -xvzf solr-8.11.1.tgz

Запустите скрипт установки сервиса Solr:

./solr-8.11.1/bin/install_solr_service.sh solr-8.11.1.tgz

После завершения установки вы увидите сообщение об установке сервиса и подсказки, где настраивать параметры запуска:

Service solr installed.
Customize Solr startup configuration in /etc/default/solr.in.sh
? solr.service - LSB: Controls Apache Solr as a Service
     Loaded: loaded (/etc/init.d/solr; generated)
     Active: active (exited) since Sat 2022-05-06 03:00:19 UTC; 5s ago
       Docs: man:systemd-sysv-generator(8)
    Process: 4692 ExecStart=/etc/init.d/solr start (code=exited, status=0/SUCCESS)

Jul 25 03:00:09 ubuntu2204 systemd[1]: Starting LSB: Controls Apache Solr as a Service...
Jul 25 03:00:09 ubuntu2204 su[4694]: (to solr) root on none
Jul 25 03:00:09 ubuntu2204 su[4694]: pam_unix(su-l:session): session opened for user solr by (uid=0)
Jul 25 03:00:19 ubuntu2204 systemd[1]: Started LSB: Controls Apache Solr as a Service.

На этом шаге Solr должен быть установлен и прослушивать порт 8983. Проверьте это командой:

ss -altnp | grep 8983

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

tcp6       0      0 :::8983                 :::*                    LISTEN      108        23034      4236/java 

Важно: в примерах используется порт 8983 по умолчанию.

Управление сервисом Solr

Apache Solr управляется systemd. Основные команды:

systemctl start solr
systemctl stop solr
systemctl restart solr
systemctl status solr

Для просмотра последних записей журнала сервиса используйте:

journalctl -u solr -e

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

Коллекция — логический индекс, распределённый по серверам. “Core” — часть сервера, на которой работает одна коллекция.

Создайте коллекцию командой (в примере имя коллекции newcollection, шаблон — data_driven_schema_configs):

su - solr -c "/opt/solr/bin/solr create -c newcollection -n data_driven_schema_configs"

Ожидаемый вывод:

Created new core 'newcollection'

Доступ к веб‑интерфейсу Apache Solr

Откройте в браузере URL: http://your-server-ip:8983/solr — замените your-server-ip на IP или DNS вашего сервера. По умолчанию интерфейс доступен на порту 8983.

Главная страница интерфейса Apache Solr

В левой боковой панели выберите созданную коллекцию (newcollection), чтобы увидеть её статус и статистику:

Статистика и состояние коллекции Solr в веб‑интерфейсе

Рекомендации по безопасности

Важно закрыть доступ к административному интерфейсу Solr из открытого интернета. Базовые меры:

  • Настройте брандмауэр (ufw) и разрешите доступ к порту 8983 только с конкретных IP:
ufw allow proto tcp from  to any port 8983
  • Для продакшена используйте обратный прокси (nginx) с TLS и аутентификацией.
  • При развертывании кластера применяйте SolrCloud с Zookeeper и включайте контроль доступа.

Масштабирование и резервирование

Модель масштабирования Solr:

  • Логику горизонтального масштабирования обеспечивает SolrCloud: шардинг, репликация и ZooKeeper для координации.
  • Для отказоустойчивости держите как минимум по одной реплике на каждом физическом узле.
  • Регулярно делайте бэкапы индексов (snapshots) и проверяйте восстановление.

Когда это не подходит: если нужна простая локальная индексация для небольших проектов, Solr может быть избыточен — рассмотрите встроенные решения в приложениях или легковесные поисковые движки.

Быстрый справочник команд

  • Установка Java: apt-get install default-jdk -y
  • Скачивание Solr: wget https://downloads.apache.org/lucene/solr/8.11.1/solr-8.11.1.tgz
  • Установка сервиса: ./solr-8.11.1/bin/install_solr_service.sh solr-8.11.1.tgz
  • Проверка порта: ss -altnp | grep 8983
  • Управление сервисом: systemctl start|stop|restart|status solr
  • Просмотр логов: journalctl -u solr -e

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

  • Сервис solr запущен и активен (systemctl status solr — «active»).
  • Порт 8983 прослушивается и отвечает (ss | curl http://your-server-ip:8983/solr).
  • Создана коллекция и видна в веб‑интерфейсе (newcollection отображается в панели).
  • Доступ к административному интерфейсу ограничен правилами брандмауэра или через обратный прокси.

Типичные проблемы и как их решать

  • Solr не запускается: проверьте журнал systemd (journalctl -u solr -e) и права на директории (/var/solr или /opt/solr).
  • Java не найдена или неподходящая версия: убедитесь, что JAVA_HOME настроен и команда java возвращает ожидаемую версию.
  • Порт 8983 занят: найдите процесс, использующий порт, и освободите его или перенастройте Solr на другой порт.

Важно: не удаляйте системные журналы и конфигурации без бэкапа.

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

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

  • Установить JDK и Solr.
  • Настроить systemd и бэкапы.
  • Ограничить доступ в брандмауэре.

Разработчик:

  • Создать коллекцию и схему.
  • Проверить индексацию тестовыми данными.
  • Настроить интеграцию приложения.

Специалист по безопасности:

  • Настроить TLS и аутентификацию для интерфейса.
  • Провести аудит прав доступа.

Итог

Поздравляем — Apache Solr установлен и готов к использованию. Вы можете создавать коллекции, индексировать данные и интегрировать поиск в своё приложение. Для более глубокой настройки и кластеризации изучите документацию на https://lucene.apache.org/solr/

Важно: перед развёртыванием в продакшен продумайте бэкап, мониторинг и меры безопасности.

Краткое резюме:

  • Установите Java, скачайте Solr, запустите install_solr_service.sh.
  • Проверьте, что сервис слушает порт 8983 и создайте коллекцию.
  • Ограничьте доступ и подготовьте план резервного копирования.
Поделиться: 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 быстро