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

Установка Apache Solr на Debian 11

• 4 min read • DevOps • Обновлено 25 Nov 2025
Установка Apache Solr на Debian 11
Установка Apache Solr на Debian 11

Иллюстрация: Apache Solr — платформа корпоративного поиска

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

Необходимые требования

  • Сервер с Debian 11.
  • Пароль root или привилегии sudo.
  • Доступ в интернет для загрузки дистрибутивов.

Установка Java

Apache Solr написан на Java, поэтому сначала установите JDK. Выполните на сервере:

apt-get install default-jdk gnupg2 apt-transport-https wget -y

Проверьте установку Java:

java -version

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

openjdk version "11.0.12" 2021-07-20
OpenJDK Runtime Environment (build 11.0.12+7-post-Debian-2)
OpenJDK 64-Bit Server VM (build 11.0.12+7-post-Debian-2, mixed mode, sharing)

Если Java не установлена или версия ниже требуемой, установите/обновите JDK и повторите проверку.

Установка Apache Solr на Debian 11

На момент написания этого руководства использовалась версия 8.9.0. Команда для загрузки архива:

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

Распакуйте загруженный файл:

tar xzf solr-8.9.0.tgz

Установите Solr как системный сервис:

bash solr-8.9.0/bin/install_solr_service.sh solr-8.9.0.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 2021-09-18 15:28:56 UTC; 5s ago
       Docs: man:systemd-sysv-generator(8)
    Process: 4661 ExecStart=/etc/init.d/solr start (code=exited, status=0/SUCCESS)
        CPU: 7ms

Sep 18 15:28:47 debian11 systemd[1]: Starting LSB: Controls Apache Solr as a Service...
Sep 18 15:28:47 debian11 su[4663]: (to solr) root on none
Sep 18 15:28:47 debian11 su[4663]: pam_unix(su-l:session): session opened for user solr(uid=107) by (uid=0)
Sep 18 15:28:55 debian11 solr[4731]: Started Solr server on port 8983 (pid=4727). Happy searching!
Sep 18 15:28:56 debian11 systemd[1]: Started LSB: Controls Apache Solr as a Service.

По умолчанию Solr слушает порт 8983. Проверить можно командой:

ss -antpl | grep 8983

Ожидаемый вывод будет содержать запись LISTEN на :8983.

Управление службой Apache Solr

Запуск:

systemctl start solr

Остановка:

systemctl stop solr

Проверка статуса:

systemctl status solr

Просмотр логов службы (полезно при отладке):

journalctl -u solr -e
tail -n 200 /var/solr/logs/solr.log

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

Для проверки создайте новую коллекцию (core):

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

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

Created new core 'newcollection'

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

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

Откройте браузер и перейдите по адресу:

http://your-server-ip:8983

Вы должны увидеть панель управления Apache Solr.

Веб-интерфейс Apache Solr — панель управления

В левом меню выберите Core Selector и кликните на mycollection, чтобы просмотреть статистику и параметры коллекции.

Статистика доступа и метрики Apache Solr

Мини-методология развертывания в прод

  1. Подготовьте сервер с обновлённой ОС и резервными копиями конфигураций.
  2. Установите JDK и проверьте совместимость.
  3. Разверните Solr как сервис и настроьте системный мониторинг.
  4. Настройте файловые системы и права (владелец solr:solr для /opt/solr и /var/solr).
  5. Настройте бэкапы коллекций и конфигураций.
  6. Настройте доступ (TLS, аутентификацию) и проксирование через Nginx/HAProxy.
  7. Нагрузочное тестирование и мониторинг SLI/SLO.

Проверки и критерии приёмки

  • Сервис solr работает и в состоянии active.
  • Порт 8983 прослушивается и веб-интерфейс доступен.
  • Создана коллекция, возвращающая корректный ответ на тестовый запрос.
  • Логи не содержат критических ошибок при старте.

Команды для проверки:

systemctl status solr
ss -antpl | grep 8983
/opt/solr/bin/solr status
su - solr -c "/opt/solr/bin/solr ping -c newcollection"

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

  • Системный администратор:

    • Установить JDK и Solr, настроить системный сервис.
    • Настроить права доступа и бэкапы.
    • Настроить файрвол (ufw/iptables).
  • Разработчик приложения:

    • Создать схему/анализаторы под поиск.
    • Настроить индексирование и тестовые запросы.
  • Оператор/DevOps:

    • Настроить мониторинг, алерты и резервное копирование коллекций.
    • Тестировать восстановление из бэкапов.

Когда установка может не работать (typical failures)

  • Java отсутствует или несовместима. Решение: установить поддерживаемую версию JDK.
  • Порт 8983 блокируется файрволом. Решение: открыть порт или настроить прокси.
  • Неправильные права на каталоги /opt/solr или /var/solr. Решение: chown -R solr:solr.
  • Нехватка памяти для JVM. Решение: отредактировать /etc/default/solr.in.sh и уменьшить/увеличить heap.
  • Конфигурации core отсутствуют или повреждены. Решение: восстановить из резервной копии или пересоздать core.

Команды для диагностики

journalctl -u solr -u solr.service -e
tail -f /var/solr/logs/solr.log
ss -tunlp | grep java
/opt/solr/bin/solr status

Резюме по безопасности и настройке доступа

  • Ограничьте доступ к порту 8983 через файрвол или прокси.
  • Используйте TLS и обратный прокси (Nginx, HAProxy) для внешнего трафика.
  • Включите плагин аутентификации (BasicAuth) и разграничение прав в Solr при работе в проде.
  • Настройте JVM heap в /etc/default/solr.in.sh в соответствии с объёмом ОЗУ.
  • Регулярно делайте бэкапы конфигураций и индексов.

Important: в продакшен-среде не оставляйте Solr без аутентификации и открытым на публичном интерфейсе.

Краткая справка — команды и сниппеты

Запуск/остановка/статус:

systemctl start solr
systemctl stop solr
systemctl status solr

Проверка порта и процесса:

ss -antpl | grep 8983
ps aux | grep solr

Создать коллекцию:

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

Бэкап конфигурации:

cp -r /opt/solr/server/solr/configsets /backup/solr-configsets-$(date +%F)

Краткий словарь (1 строка)

  • Core/Collection — логическая единица хранения и поиска в Solr.
  • Index — индекс, построенный из документов для быстрого поиска.
  • Schema — описание полей и типов данных, используемых в коллекции.

Факт-бокс — важные числа и пути

  • Порт по умолчанию: 8983
  • Пользователь службы: solr
  • Каталог установки: /opt/solr
  • Конфигурация запуска: /etc/default/solr.in.sh

Заключение

Поздравляем — вы установили Apache Solr на Debian 11 и создали тестовую коллекцию. Далее настройте безопасность, мониторинг и бэкапы перед выпуском в продакшен. Для подробной документации и плагинов посетите официальный сайт Apache 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 быстро