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

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
Откройте браузер и перейдите по адресу:
Вы должны увидеть панель управления Apache Solr.

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

Мини-методология развертывания в прод
- Подготовьте сервер с обновлённой ОС и резервными копиями конфигураций.
- Установите JDK и проверьте совместимость.
- Разверните Solr как сервис и настроьте системный мониторинг.
- Настройте файловые системы и права (владелец solr:solr для /opt/solr и /var/solr).
- Настройте бэкапы коллекций и конфигураций.
- Настройте доступ (TLS, аутентификацию) и проксирование через Nginx/HAProxy.
- Нагрузочное тестирование и мониторинг 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.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента