Apache Solr — это поисковая платформа с открытым исходным кодом, созданная на основе Apache Lucene и предназначенная для создания мощных возможностей поиска и индексирования в приложениях. Она обеспечивает расширенный полнотекстовый поиск, фасетный поиск, индексирование в реальном времени и распределённый поиск, что делает её популярным выбором для создания поисковых систем и систем поиска данных.
Solr обладает высокой масштабируемостью и оптимизирован для работы с большими объёмами данных. Его часто используют в корпоративных средах для таких задач, как поиск на веб-сайтах, электронная коммерция и аналитика больших данных. Его REST-подобный API позволяет легко интегрироваться с другими системами и поддерживает такие функции, как выделение подсказок по запросу и геопространственный поиск. Гибкость, производительность и поддержка сообщества сделали Solr ведущим решением для организаций, которым нужна надёжная функция поиска.
В этой статье вы узнаете, как установить Apache Solr на сервер Ubuntu 24.04. Кроме того, вы узнаете, как защитить Apache Solr с помощью базовой аутентификации и создать первую коллекцию с помощью командной строки Solr.
Чтобы начать с этой статьи, убедитесь, что у вас есть следующее:
Прежде чем устанавливать Apache Solr, давайте подготовим и настроим нашу систему Ubuntu, увеличив shmmax и nr_hugepages в параметрах ядра, а затем увеличив максимальное количество открытых файлов и процессов по умолчанию.
Выполните приведённую ниже команду, чтобы увеличить shmmax и nr_hugepages на вашем сервере Ubuntu.
sudo echo 4294967295 > /proc/sys/kernel/shmmax sudo echo 1536 > /proc/sys/vm/nr_hugepages
Теперь выполните приведённую ниже команду, чтобы изменить файл /etc/security/limits.conf.
sudo nano /etc/безопасность/limits.conf
Увеличьте максимальное количество открытых файлов и процессов для пользователя solr с помощью следующей конфигурации.
soft nofile 65000 solr hard nofile 65000 soft nproc 65000 solr hard nproc 65000
Сохраните файл и выйдите из редактора.
Теперь, когда вы настроили свою систему, давайте установим Java OpenJDK в нашу систему. Для Apache Solr требуется как минимум Java 11, и в этом руководстве мы будем использовать пакет default-jdk, который предлагает последнюю стабильную версию Java OpenJDK.
Сначала обновите индекс вашего пакета Ubuntu следующим образом.
sudo apt update
Теперь установите пакет default-jdk, используя приведённую ниже команду. Введите Y, чтобы подтвердить установку.
sudo apt install default-jdk
После завершения установки проверьте версию Java с помощью следующей команды.
java --version
Теперь, когда ваша система Ubuntu настроена и установлена Java OpenJDK, давайте приступим к установке Apache Solr. В этом руководстве вы установите Apache Solr с помощью установочного скрипта, входящего в пакет Solr.
Для начала выполните приведённую ниже команду, чтобы установить базовые инструменты, такие как curl, lsof и bc.
sudo apt install curl lsof bc
Теперь загрузите двоичный пакет Apache Solr с помощью приведённой ниже команды wget.
wget https://www.apache.org/dyn/closer.lua/solr/solr/9.7.0/solr-9.7.0.tgz?action=download
Переименуйте пакет Apache Solr и извлеките установочный скрипт install_solr_service.sh, используя приведённую ниже команду.
mv solr-9.7.0.tgz?action=download solr-9.7.0.tgz tar -xf tar xzf solr-9.7.0.tgz solr-9.7.0/bin/install_solr_service.sh --strip-components=2
Теперь выполните скрипт install_solr_service.sh для установки Apache Solr.
sudo bash ./install_solr_service.sh solr-9.7.0.tgz
Ниже вы можете ознакомиться с подробной установкой Apache Solr.
Теперь проверьте состояние solr с помощью приведённой ниже команды. Вы можете увидеть solr в состоянии активно (завершено), что означает, что служба работает, но systemd не может найти файлы для мониторинга.
sudo systemctl status solr
Вы также можете проверить открытые порты в своей системе с помощью приведённой ниже команды ss. Apache Solr должен работать на порту 8893.
ss -tulpn
Теперь, когда Apache Solr установлен, давайте настроим его, изменив параметры Apache Solr в скрипте /etc/default/solr.in.sh. Затем увеличьте максимальный объём памяти по умолчанию и IP-адрес, используемый для запуска Apache Solr.
Откройте файл конфигурации Solr /etc/default/solr.in.sh с помощью редактора vim.
sudo vim /etc/default/solr.in.sh
Измените параметр SOLR_HEAP по умолчанию, указав максимальное выделение памяти для Apache Solr. В этом примере мы будем использовать 4 ГБ оперативной памяти.
SOLR_HEAP="4g"
Введите свой IP-адрес в параметры SOLR_HOST и SOLR_JETTY_HOST. В этом примере Apache Solr будет работать на локальном IP-адресе 192.169.10.60.
SOLR_HOST="192.168.10.15" SOLR_JETTY_HOST="192.168.10.15"
Теперь выполните приведённую ниже команду systemctl, чтобы перезапустить службу Apache Solr и применить внесённые изменения.
sudo systemctl restart solr
Вы можете проверить, какой открытый порт и IP-адрес использует Apache Solr, с помощью приведенной ниже команды ss.
ss -tulpn
После настройки Apache Solr следующим шагом будет защита вашего развёртывания. В этом примере мы будем использовать базовую аутентификацию для защиты Apache Solr. Это можно сделать, создав новый файл /var/solr/data/security.json.
Создайте новую конфигурацию /var/solr/data/security.json с помощью редактора vim.
sudo vim /var/solr/data/security.json
Вставьте приведенную ниже конфигурацию для настройки аутентификации в Apache Solr и создайте нового пользователя solr с паролем solrRocks.
{ "authentication":{ "blockUnknown": true, "class":"solr.BasicAuthPlugin", "credentials":{"solr":"IV0EHq1OnNrj6gvRCwvFwTrZ1+z1oBbnQdiVC3otuq0= Ndd7LKvVBAaZIF0QAVi1ekCfAJXr1GGfLtRUXhgrF8c="}, "realm":"My Solr users", "forwardCredentials": false }, "authorization":{ "class":"solr.RuleBasedAuthorizationPlugin", "permissions":[{"name":"all", "role":"admin"}], "user-role":{"solr":"admin"} } }
Сохраните файл и выйдите из редактора.
Теперь выполните приведённую ниже команду systemctl, чтобы перезапустить службу solr и применить внесённые изменения.
sudo systemctl restart solr
Затем откройте веб-браузер и перейдите по адресу http://192.168.10.60:8983/. Вы будете перенаправлены на страницу входа в Apache Solr.
Введите имя пользователя solr и пароль solrRocks, и вы получите панель управления Apache Solr.
На этом этапе вы настроили и защитили Apache Solr. Теперь вы создадите первую коллекцию в Apache Solr с помощью командной строки.
Снова откройте файл /etc/default/solr.in.sh в редакторе vim.
sudo vim /etc/default/solr.in.sh
Раскомментируйте строки SOLR_AUTH_TYPE и SOLR_AUTHENTICATION_OPTS и оставьте их значения по умолчанию.
SOLR_AUTH_TYPE="basic" SOLR_AUTHENTICATION_OPTS="-Dbasicauth=solr:SolrRocks"
Сохраните файл и выйдите из редактора.
Теперь запустите следующую команду, чтобы перезапустить службу Apache Solr.
sudo systemctl restart solr
Затем выполните приведённую ниже команду, чтобы создать первую коллекцию с именем my_first_index.
su - solr -c "/opt/solr/bin/solr create -c my_first_index -n MyIndex"
Теперь перейдите на панель управления Apache Solr, и вы увидите, что была создана новая коллекция my_first_index.
Поздравляем! Вы завершили установку Apache Solr на сервере Ubuntu 24.04. Вы установили его вместе с Java OpenJDK 21, настроили его для работы по локальному IP-адресу и защитили с помощью BasicAuthentication. Наконец, вы создали первую коллекцию с помощью командной строки Solr.