Как установить Apache Solr на Rocky Linux
На этой странице
- Предпосылки
- Установка Java OpenJDK
- Установка Solr на Rocky Linux
- Настройка ограничения количества открытых файлов и максимального количества процессов для пользователя Solr
- Проверьте установку Solr
- Защита Solr с помощью базовой аутентификации
- Сначала создайте Solr Core
- Заключение
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 из командной строки.
Предпосылки
Прежде чем начать, убедитесь, что у вас есть следующие требования:
- Операционная система: Rocky Linux 8.5 (Green Obsidian)
- Память: 2 ГБ для тестирования.
- ЦП: 2
- Привилегии root
Теперь давайте начнем.
Установка Java OpenJDK
Чтобы установить Solr в системе Linux, вам потребуется как минимум Java OpenJDK 1.8 или выше. Rocky Linux предоставляет несколько версий Java OpenJDK, и в этом примере вы будете устанавливать Java OpenJDK 1.11 для установки Solr.
1. Выполните приведенную ниже команду DNF, чтобы установить Java OpenJDK 1.11 в системе Rocky Linux.
sudo dnf install java-11-openjdk java-11-openjdk-devel
Введите y, чтобы подтвердить установку, и нажмите Enter, чтобы продолжить.
2. Если установка 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
2. После завершения процесса загрузки извлеките сценарий установки из пакета 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.
3. Запустите сценарий установки, как показано ниже, чтобы установить Solr.
sudo bash ./install_solr_service.sh solr-8.11.0.tgz -i /opt -d /var/solr -u solr -s solr -p 8983
Теперь скрипт установщика установит Solr в следующих деталях:
- Каталог установки: /opt/solr.
- Каталог данных Solr будет доступен в каталоге /var/solr.
- Solr будет работать как системный пользователь solr.
- Определите сценарий systemd для Solr с помощью сценария solr.
- Теперь Solr работает на порту по умолчанию 8083.
И вы увидите вывод, аналогичный приведенному ниже, когда установка Solr завершится.
Вы увидите предупреждающее сообщение об ограничении файлов и процессов для Solr, вы исправите это на следующем шаге. И Solr теперь запущен и работает на порту 8983.
4. Проверьте порт 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 сверху.
5. Затем перезагрузите диспетчер системы, чтобы применить новый служебный файл systemd.
sudo systemctl daemon-reload
6. После этого запустите и включите службу 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.
1. Отредактируйте конфигурацию /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
Сохраните конфигурацию и выйдите.
2. Затем проверьте ограничения на открытый файл и максимальное количество пользователей, обработанных с помощью следующего.
sudo -u solr ulimit -a
И вы увидите ограничение на количество открытых файлов и максимальное количество пользовательских процессов 65000, как показано ниже.
3. Теперь перезапустите службу solr с помощью следующей команды.
sudo systemctl restart solr
Теперь вы завершили настройку максимального количества открытых файлов и максимального количества процессов для приложения Solr.
Проверка установки Solr
Чтобы проверить установку Solr, вам нужно добавить порт 8983 в брандмауэр, после чего вы сможете получить доступ к панели управления веб-приложения Solr.
1. Выполните приведенную ниже команду firewall-cmd, чтобы добавить порт 8983 в firewalld и перезагрузить его.
sudo firewall-cmd --add-port=8983/tcp --permanent
sudo firewall-cmd --reload
2. Теперь откройте веб-браузер и введите IP-адрес сервера с портом 8983, как показано ниже.
И вы увидите панель инструментов Solr, как показано ниже.
При установке Solr по умолчанию не включены аутентификация и авторизация. Перейдите к следующему этапу для безопасного развертывания Solr с аутентификацией и авторизацией.
Защита Solr с помощью базовой аутентификации
На этом шаге вы узнаете, как включить обычную аутентификацию для Solr.
Чтобы включить базовую аутентификацию Solr, необходимо создать новый файл конфигурации security.json и определить модуль аутентификации и авторизации. Конфигурация security.json должна находиться в каталоге данных Solr /var/solr/data.
Кроме того, вы можете проверить каталог данных Solr на панели инструментов Solr, как показано ниже.
1. Измените рабочий каталог на /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.
2. Затем перезапустите службу solr, чтобы применить новую конфигурацию, используя приведенную ниже команду systemctl.
sudo systemctl restart solr
3. Чтобы проверить аутентификацию Solr, вернитесь в веб-браузер и введите IP-адрес сервера с портом Solr 8983.
Теперь вы будете перенаправлены на страницу входа в Solr, как показано ниже.
Введите имя пользователя solr и пароль SolrRocks, затем нажмите кнопку «Войти».
И вы увидите панель инструментов Solr.
В разделе «Безопасность» вы увидите подробный плагин аутентификации и авторизации с именем пользователя и ролями, которые вы используете в данный момент.
Теперь вы защитили установку Solr с помощью плагина Basic Authentication.
Сначала создайте Solr Core
В Solr термин «ядро» относится к одному индексу Lucene, и вы можете создать несколько ядер в одном развертывании Solr.
Каждое ядро содержит журналы транзакций и файлы конфигурации, такие как solrconfig.xml, файлы схемы и т. д. Кроме того, вы можете индексировать данные с различной структурой на каждом ядре и представлять их различным приложениям/аудиториям.
Вы можете создать ядро с помощью командной строки solr или панели администрирования Solr.
На этом шаге вы узнаете, как создать ядро с помощью командной строки solr.
1. Перед созданием ядра необходимо настроить учетные данные 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 и измените значение на базовый. Это укажет команде solr использовать плагин Basic Authentication.
SOLR_AUTH_TYPE="basic"
Раскомментируйте параметр SOLR_AUTHENTICATION_OPTS и измените значение с помощью пользователя и пароля Solr, как показано ниже.
SOLR_AUTHENTICATION_OPTS="-Dbasicauth=solr:SolrRocks"
Сохраните конфигурацию и выйдите.
2. Затем создайте новое ядро с помощью приведенной ниже команды solr. В этом примере вы будете создавать новое ядро с именем new_core и именем конфигурации ConfigName.
su - solr -c "/opt/solr/bin/solr create -c new_core -n ConfigName"
3. Теперь вернитесь к панели администрирования Solr, чтобы проверить ядро Solr.
Вы увидите детали ядра, как показано ниже.
И вы создали ядро Solr, используя командную строку solr.
Заключение
Поздравляем! Вы узнали об установке Solr в системе Rocky Linux. Кроме того, вы узнали, как защитить развертывание Solr с помощью подключаемого модуля Basic Authentication, и узнали, как создать ядро из командной строки solr.