Введение
Apache Solr или Solr — это бесплатная исследовательская платформа с открытым исходным кодом, основанная на библиотеке Apache Lucene. Solr расшифровывается как Searching On Lucene with Replication. Это поисковая платформа корпоративного уровня, написанная на Java.
Solr — это хорошо масштабируемая и надежная поисковая платформа с отказоустойчивой и распределенной индексацией. Кроме того, он поставляется с автоматической репликацией, аварийным переключением и восстановлением.
В большинстве случаев Solr используется для создания приложений корпоративного уровня, обеспечивающих высокую производительность. Solr используется некоторыми крупными интернет-сайтами, такими как Adobe, Bloomberg, AT&T, Magento, Netflix, Instagram и т. д.
В этом руководстве вы узнаете, как установить Apache Solr в системе Rocky Linux, включить базовую аутентификацию Solr, установить максимальный лимит открытых файлов и максимальный лимит процессов для дистрибутива Solr, а также как создать первое ядро Solr из командной строки.
Если вы хотите установить Apache Solr на удаленный сервер, продолжайте читать, в противном случае пропустите первый абзац «Подключение к серверу» и читайте следующий.
Подключение к серверу
Чтобы получить доступ к серверу, вам нужно знать IP-адрес. Вам также потребуется ваше имя пользователя и пароль для аутентификации. Чтобы подключиться к серверу как root, введите следующую команду:
ssh root@IP_DEL_SERVER
Далее вам нужно будет ввести пароль пользователя root.
Если вы не используете пользователя root, вы можете войти под другим именем пользователя с помощью той же команды, а затем изменить root на свое имя пользователя:
ssh nome_utente@IP_DEL_SERVER
Затем вам будет предложено ввести пароль пользователя.
Стандартный порт для подключения по ssh — 22, если ваш сервер использует другой порт, вам нужно будет указать его с помощью параметра -p, затем введите следующую команду:
ssh nome_utente@IP_DEL_SERVER -p PORTA
Предпосылки
Прежде чем начать, убедитесь, что у вас есть следующие требования:
- ОС: Rocky Linux 8.5 (Зеленый Обсидиан)
- Память: 2 ГБ для тестирования
- Процессор: 2
- Root-права
Установите Java OpenJDK
Чтобы установить Solr в вашей системе Linux, вам потребуется как минимум Java OpenJDK 1.8 или более поздней версии. Rocky Linux предоставляет несколько версий Java OpenJDK, и в этом примере вы установите Java OpenJDK 1.11 для установки Solr.
Запустите команду DNF ниже, чтобы установить Java OpenJDK 1.11 в системе Rocky Linux:
sudo dnf install java-11-openjdk java-11-openjdk-devel
Введите « y », чтобы подтвердить установку, и нажмите « Enter », чтобы продолжить.
Если установка Java прошла успешно, проверьте установку с помощью следующей команды:
java --version
Ниже приведен аналогичный результат, который вы получите.
openjdk 11.0.13 2021-10-19 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.13+8-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.13+8-LTS, mixed mode, sharing)
Вы завершили установку Java OpenJDK 1.11 в системе Rocky Linux и готовы загрузить и установить Solr в своей системе.
Установите Solr на Rocky Linux
На этом шаге вы установите последнюю версию Solr (текущая версия 8.11) в системе Rocky Linux. Вы установите Solr, используя сценарий установки, включенный в пакет Solr.
1 Измените текущий рабочий каталог на ' /opt ' и загрузите двоичный файл Solr с помощью следующей команды:
cd /opt/
wget https://downloads.apache.org/lucene/solr/8.11.0/solr-8.11.0.tgz
После завершения процесса загрузки извлеките скрипт установки из пакета Solr:
tar xzf solr-8.11.0.tgz solr-8.11.0/bin/install_solr_service.sh --strip-components=2
Теперь вы увидите сценарий установки Solr « install_solr_service.sh
».
Запустите сценарий установки, как показано ниже, чтобы установить Solr:
tar xzf solr-8.11.0.tgz solr-8.11.0/bin/install_solr_service.sh --strip-components=2
Теперь скрипт установки установит Solr в следующих деталях:
- Каталог установки — « /opt/solr ».
- Каталог данных Solr будет доступен в каталоге ' /var/solr '.
- Solr будет работать как системный пользователь ' solr '.
- Определите сценарий systemd для Solr с помощью сценария ' solr '.
- Solr теперь работает на порту по умолчанию « 8083 ».
Вы увидите предупреждающее сообщение об ограничении файлов и ограничении процессов для Solr, вы решите это на следующем шаге. И Solr теперь запущен и работает на порту « 8983 ».
Проверьте порт LISTEN в вашей системе, используя следующую команду:
ss -aplnt | grep java
Если установка Solr выполнена правильно, вы увидите, что порт «8983» теперь используется приложением Java:
LISTEN 0 50 [::ffff:127.0.0.1]:7983 *:* users:(("java",pid=4512,fd=48))
LISTEN 0 50 *:8983 *:* users:(("java",pid=4512,fd=157))
Теперь завершите процесс Solr с помощью следующей команды:
pkill java
kill -9 PID
PID — это идентификатор процесса приложения Solr. Вы можете увидеть PID приложения Solr из команды ss выше.
Затем перезагрузите системный менеджер, чтобы применить новый служебный файл systemd:
sudo systemctl daemon-reload
Затем запустите и включите службу « solr
», используя следующую команду:
sudo systemctl enable --now solr
Проверьте службу ' solr
' с помощью следующей команды:
sudo systemctl status solr
Теперь вы увидите, что служба « solr
» «активна (закрыта)». Служба ' solr
' запущена, но systemd не может найти ни одного демона для мониторинга.
Вы завершили базовую установку Solr в системе Rocky Linux.
Установите ограничение на количество открытых файлов и максимальное количество процессов для пользователя Solr.
Как вы могли видеть выше, во время установки Solr вы получили предупреждающее сообщение о лимите открытых файлов и лимите процессов. Solr запросил минимальный лимит открытых файлов и максимальный лимит процесса « 65000 ».
Чтобы устранить эти предупреждающие сообщения, вам необходимо изменить конфигурацию ' /etc/security/limits.conf ' и определить максимальное количество открытых файлов и максимальное количество процессов для пользователя 'solr'.
Отредактируйте конфигурацию /etc/security/limits.conf с помощью редактора nano:
sudo nano /etc/security/limits.conf
Скопируйте и вставьте следующую конфигурацию внизу строки:
solr soft nofile 65000
solr hard nofile 65000
solr soft nproc 65000
solr hard nproc 65000
Сохраните конфигурацию и выйдите.
Затем проверьте ограничения на количество открытых файлов и максимальное количество обработанных пользователей, используя следующее:
sudo -u solr ulimit -a
И вы увидите лимит открытых файлов и максимальный лимит пользовательских процессов на уровне « 65000 ».
Теперь перезапустите службу « solr
», используя следующую команду:
sudo systemctl restart solr
Вы завершили настройку максимального количества открытых файлов и максимального количества процессов для приложения Solr.
Проверьте установку Solr
Чтобы проверить установку Solr, вам нужно добавить порт « 8983 » в firewalld, после чего вы сможете получить доступ к панели инструментов веб-приложения Solr.
Запустите приведенную ниже команду firewall-cmd
, чтобы добавить порт « 8983 » в firewalld и перезагрузить:
sudo firewall-cmd --add-port=8983/tcp --permanent
sudo firewall-cmd --reload
Теперь откройте веб-браузер и введите IP-адрес сервера с портом « 8983 »:
http://192.168.1.1:8983/
Вы увидите панель инструментов Solr.
В стандартной установке Solr не включены аутентификация и авторизация. Перейдите к следующему шагу, чтобы защитить развертывание Solr с помощью аутентификации и авторизации.
Защита Solr с помощью базовой аутентификации
На этом шаге вы узнаете, как включить обычную аутентификацию для Solr.
Чтобы включить Solr Basic Authentication, вам необходимо создать новый файл конфигурации « security.json » и определить модуль аутентификации и авторизации. Конфигурация ' security.json ' должна находиться в каталоге данных Solr ' /var/solr/data '.
Кроме того, вы можете проверить каталог данных Solr на панели инструментов Solr.
Измените рабочий каталог на « /var/solr/data » и создайте новый файл конфигурации « security.json » с помощью редактора nano:
cd /var/solr/data/
sudo -u solr nano security.json
Скопируйте и вставьте следующую конфигурацию:
{
"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"}
}
}
Сохраните конфигурацию и выйдите.
Это создаст нового пользователя-администратора solr с паролем SolrRocks.
Затем перезапустите службу ' solr
', чтобы применить новую конфигурацию, используя следующую команду systemctl:
sudo systemctl restart solr
Чтобы проверить аутентификацию Solr, вернитесь в свой веб-браузер и введите IP-адрес сервера с портом Solr « 8983 »:
http://192.168.1.1:8983/
Теперь вы будете перенаправлены на страницу входа Solr.
Введите имя пользователя « solr » и пароль « SolrRocks », затем нажмите кнопку « Войти ».
И вы увидите панель инструментов Solr.
В разделе « Безопасность » вы увидите подробный плагин аутентификации и авторизации с именем пользователя и ролями, которые вы используете в данный момент.
Теперь вы защитили свою установку Solr с помощью плагина базовой аутентификации.
Создание первого ядра Solr
В Solr термин «ядро» относится к одному индексу Lucene, и в одном дистрибутиве Solr можно создать несколько ядер.
Каждое ядро содержит журналы транзакций и файлы конфигурации, такие как solrconfig.xml, файл схемы и т. д. Кроме того, вы можете индексировать данные с различной структурой на каждом ядре, и они могут быть представлены разным приложениям/аудиториям.
Вы можете создать ядро с помощью командной строки ' solr ' или с помощью панели администратора Solr.
На этом шаге вы узнаете, как создать ядро с помощью командной строки ' solr '.
Перед созданием ядра необходимо настроить учетные данные Solr.
Измените рабочий каталог на ' /opt/solr/bin ' и скопируйте конфигурацию по умолчанию ' solr.in.sh.orig ' в ' solr.in.sh ':
cd /opt/solr/bin/
cp solr.in.sh.orig solr.in.sh
Отредактируйте конфигурацию ' solr.in.sh ' с помощью редактора nano:
sudo nano solr.in.sh
Раскомментируйте параметр « SOLR_AUTH_TYPE
» и измените значение на « basic
». Это скажет команде ' solr
' использовать плагин базовой аутентификации:
SOLR_AUTH_TYPE="basic"
Раскомментируйте параметр « SOLR_AUTHENTICATION_OPTS
» и измените значение на пользователя и пароль Solr, как показано ниже:
SOLR_AUTHENTICATION_OPTS="-Dbasicauth=solr:SolrRocks"
Сохраните конфигурацию и выйдите.
Затем создайте новое ядро с помощью приведенной ниже команды solr. В этом примере вы создадите новое ядро с именем « new_core
» и именем конфигурации « ConfigName
»:
su - solr -c "/opt/solr/bin/solr create -c new_core -n ConfigName"
Теперь вернитесь к панели администратора Solr, чтобы проверить ядро Solr.
Вы увидите основные детали.
И вы создали ядро Solr, используя командную строку «solr».
Вывод
Поздравляем! Вы узнали об установке Solr в системе Rocky Linux. Кроме того, вы узнали, как защитить дистрибутив Solr с помощью подключаемого модуля базовой аутентификации, и узнали, как создать ядро из командной строки «solr».