Apache Solr o Solr es una plataforma de búsqueda gratuita y de código abierto basada en la biblioteca Apache Lucene. Solr son las siglas de Searching On Lucene with Replication, es una plataforma de búsqueda de nivel empresarial escrita en Java.
Solr es una plataforma de búsqueda altamente escalable y confiable con indexación distribuida y tolerante a fallas. Además, viene con replicación y conmutación por error y recuperación automáticas.
En la mayoría de los casos, Solr se utiliza para crear aplicaciones de nivel empresarial que ofrecen un alto rendimiento. Solr es utilizado por algunos grandes sitios de Internet como Adobe, Bloomberg, AT&T, Magento, Netflix, Instagram, etc.
En esta guía, aprenderá cómo instalar Apache Solr en el sistema Rocky Linux, habilitar la autenticación básica de Solr, configurar el límite máximo de archivos abiertos y el límite máximo de procesos para la implementación de Solr, y cómo crear el primer núcleo de Solr desde la línea de comandos.
Requisitos
Antes de comenzar, asegúrese de tener los siguientes requisitos:
- Sistema operativo:Rocky Linux 8.5 (Obsidiana verde)
- Memoria:2 GB para pruebas
- CPU:2
- Privilegios de raíz
Ahora comencemos.
Instalando Java OpenJDK
Para instalar Solr en el sistema Linux, necesita al menos Java OpenJDK 1.8 o superior. Rocky Linux ofrece varias versiones de Java OpenJDK y, en este ejemplo, instalará Java OpenJDK 1.11 para la instalación de Solr.
1. Ejecute el siguiente comando DNF para instalar Java OpenJDK 1.11 en el sistema Rocky Linux.
sudo dnf install java-11-openjdk java-11-openjdk-devel
Escriba 'y ' para confirmar la instalación y presione 'Enter ' para continuar.
2. Si se completa la instalación de Java, verifique su instalación usando el siguiente comando.
java --version
A continuación se muestra el resultado similar que obtendrá.
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)
Ha completado la instalación de Java OpenJDK 1.11 en el sistema Rocky Linux y está listo para descargar e instalar Solr en su sistema.
Instalando Solr en Rocky Linux
En este paso, instalará la última versión de Solr (la versión actual es la 8.11) en el sistema Rocky Linux. Instalará Solr utilizando el script de instalación que se incluye en el paquete de Solr.
1. Cambie su directorio de trabajo actual a '/opt' y descargue el código binario de Solr usando el siguiente comando.
cd /opt/
wget https://downloads.apache.org/lucene/solr/8.11.0/solr-8.11.0.tgz
2. Una vez que se complete el proceso de descarga, extraiga la secuencia de comandos del instalador del paquete de Solr.
tar xzf solr-8.11.0.tgz solr-8.11.0/bin/install_solr_service.sh --strip-components=2
Ahora verá la secuencia de comandos del instalador de Solr 'install_solr_service.sh '.
3. Ejecute el script de instalación como se indica a continuación para instalar Solr.
sudo bash ./install_solr_service.sh solr-8.11.0.tgz -i /opt -d /var/solr -u solr -s solr -p 8983
Ahora el script del instalador instalará Solr con los siguientes detalles:
- El directorio de instalación es '/opt/solr '.
- El directorio de datos de Solr estará disponible en '/var/solr ' directorio.
- Solr se ejecutará como usuario del sistema 'solr '.
- Defina el script systemd para Solr con el script 'solr '.
- Solr ahora se ejecuta en el puerto predeterminado '8083 '.
Y verá una salida similar a la siguiente cuando se complete la instalación de Solr.
Verá un mensaje de advertencia sobre el límite de archivos y el límite de procesos para Solr, lo corregirá en el siguiente paso. Y el Solr ahora está funcionando en el puerto '8983'.
4. Verifique el 'ESCUCHAR ' puerto en su sistema usando el siguiente comando.
ss -aplnt | grep java
Si la instalación de Solr es correcta, verá que la aplicación Java ahora está utilizando el puerto '8983'.
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))
Ahora elimine el proceso Solr usando el siguiente comando.
pkill java
kill -9 PID
PID es la identificación del proceso de la aplicación Solr. Puede ver el PID de la aplicación Solr desde el comando ss en la parte superior.
5. A continuación, vuelva a cargar el administrador del sistema para aplicar el nuevo archivo de servicio systemd.
sudo systemctl daemon-reload
6. Después de eso, inicie y habilite el servicio 'solr ' usando el siguiente comando.
sudo systemctl enable --now solr
Verifique el 'solr ' servicio usando el siguiente comando.
sudo systemctl status solr
Ahora verá que el servicio 'solr' está 'activo (salido)'. El servicio 'solr' se está ejecutando, pero systemd no puede encontrar ningún demonio para monitorear.
Y ha terminado la instalación básica de Solr en el sistema Rocky Linux.
Configuración de límites de archivos abiertos y proceso máximo para usuarios de Solr
Como puede ver en la parte superior, durante la instalación de Solr recibió un mensaje de advertencia sobre el límite de archivos abiertos y el límite de procesos. Solr requería el límite mínimo de archivos abiertos y el límite máximo de procesos a '65000 '.
Para solucionar estos mensajes de advertencia, debe editar la configuración '/etc/security/limits.conf' y defina el límite máximo de archivos abiertos y el límite máximo de procesos para el usuario 'solr'.
1. Edite la configuración '/etc/security/limits.conf ' usando el editor nano.
sudo nano /etc/security/limits.conf
Copie y pegue la siguiente configuración al final de la línea.
solr soft nofile 65000
solr hard nofile 65000
solr soft nproc 65000
solr hard nproc 65000
Guarde la configuración y salga.
2. Luego, verifique los límites del archivo abierto y el número máximo de usuarios procesados usando lo siguiente.
sudo -u solr ulimit -a
Y verá el límite de archivos abiertos y el límite máximo de procesos de usuario a '65000 ' como se muestra a continuación.
3. Ahora reinicie el 'solr ' servicio usando el siguiente comando.
sudo systemctl restart solr
Ahora ha completado la configuración del límite máximo de archivos abiertos y los límites máximos de procesos para la aplicación Solr.
Verificar instalación de Solr
Para verificar la instalación de Solr, debe agregar el puerto '8983 ' al firewalld, luego puede acceder al panel de la aplicación web de Solr.
1. Ejecute el comando firewall-cmd a continuación para agregar el puerto '8983 ' a firewalld y recargar.
sudo firewall-cmd --add-port=8983/tcp --permanent
sudo firewall-cmd --reload
2. Ahora abra su navegador web y escriba la dirección IP del servidor con el puerto '8983 ' como se muestra a continuación.
http://192.168.1.10:8983/
Y verá el tablero de Solr como se muestra a continuación.
No hay autenticación ni autorización habilitada en la instalación predeterminada de Solr. Pase a la siguiente etapa para asegurar la implementación de Solr con autenticación y autorización.
Asegurar Solr con autenticación básica
En este paso, aprenderá cómo habilitar la 'Autenticación básica para Solr.
Para habilitar la autenticación básica de Solr, debe crear un nuevo archivo de configuración 'security.json ', y definir el módulo de autenticación y autorización. La configuración 'security.json' debe estar ubicada en el directorio de datos de Solr '/var/solr/data '.
Además, puede consultar el directorio de datos de Solr desde el panel de control de Solr como se muestra a continuación.
1. Cambie su directorio de trabajo a '/var/solr/data' y cree un nuevo archivo de configuración 'security.json ' usando el editor nano.
cd /var/solr/data/
sudo -u solr nano security.json
Copie y pegue la siguiente configuración.
{
"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"}
}
}
Guarde la configuración y salga.
Esto creará un nuevo usuario administrador 'solr ' con la contraseña 'SolrRocks '
2. Luego, reinicie el servicio 'solr' para aplicar una nueva configuración usando el siguiente comando systemctl.
sudo systemctl restart solr
3. Para verificar la autenticación de Solr, regrese a su navegador web y escriba la dirección IP del servidor con el puerto de Solr '8983 '.
http://192.168.1.10:8983/
Ahora será redirigido a la página de inicio de sesión de Solr como se muestra a continuación.
Escriba el nombre de usuario 'solr ' y contraseña 'SolrRocks ', luego haga clic en el botón 'Iniciar sesión'.
Y verá el panel de control de Solr.
En la sección 'Seguridad ', verá un complemento de autenticación y autorización detallado con el nombre de usuario y las funciones que está utilizando actualmente.
Ahora ha asegurado la instalación de Solr con el complemento de autenticación básica.
Crear primero un núcleo Solr
En Solr, el término núcleo se refiere a un solo índice de Lucene y puede crear varios núcleos en una sola implementación de Solr.
Cada núcleo contiene registros de transacciones y archivos de configuración como solrconfig.xml, archivos de esquema, etc. Además, puede indexar datos con diferentes estructuras en cada núcleo y se pueden presentar a diferentes aplicaciones/audiencias.
Puede crear un núcleo usando el 'solr ' línea de comandos o usando el panel de administración de Solr.
En este paso, aprenderá cómo crear un núcleo usando el 'solr ' línea de comando.
1. Antes de crear un núcleo, debe configurar las credenciales de Solr.
Cambie su directorio de trabajo a '/opt/solr/bin ' y copie la configuración predeterminada 'solr.in.sh.orig ' a 'solr.in.sh '.
cd /opt/solr/bin/
cp solr.in.sh.orig solr.in.sh
Edite la configuración 'solr.in.sh ' usando el editor nano.
sudo nano solr.in.sh
Descomente la opción 'SOLR_AUTH_TYPE ' y cambie el valor a 'básico '. Esto le indicará al comando 'solr' que use el complemento de autenticación básica
SOLR_AUTH_TYPE="basic"
Descomente la opción 'SOLR_AUTHENTICATION_OPTS ' y cambie el valor con el usuario y la contraseña de Solr como se muestra a continuación.
SOLR_AUTHENTICATION_OPTS="-Dbasicauth=solr:SolrRocks"
Guarde la configuración y salga.
2. Luego, cree un nuevo núcleo usando el comando solr a continuación. En este ejemplo, creará un nuevo núcleo con el nombre 'nuevo_núcleo' y el nombre de configuración 'ConfigName '.
su - solr -c "/opt/solr/bin/solr create -c new_core -n ConfigName"
3. Ahora regrese al panel de administración de Solr para verificar el núcleo de Solr.
Verá los detalles básicos como se muestra a continuación.
Y ha creado un núcleo Solr utilizando la línea de comandos 'solr'.
Conclusión
¡Felicidades! Ha aprendido la instalación de Solr en el sistema Rocky Linux. Además, aprendió a proteger la implementación de Solr con el complemento de autenticación básica y aprendió a crear un núcleo desde la línea de comandos 'solr'.