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

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.

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

Рекомендации по безопасности
Важно закрыть доступ к административному интерфейсу 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 и создайте коллекцию.
- Ограничьте доступ и подготовьте план резервного копирования.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента