Introducción
Apache Solr o Solr es una plataforma de investigación gratuita y de código abierto basada en la biblioteca Apache Lucene. Solr significa 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. También viene con replicación automatizada y conmutación por error y recuperación.
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, establecer el límite máximo de archivos abiertos y el límite máximo de procesos para la distribución de Solr, y cómo crear su primer núcleo de Solr desde la línea de comandos.
Si desea instalar Apache Solr en un servidor remoto, continúe leyendo; de lo contrario, omita el primer párrafo "Conexión al servidor" y lea el siguiente.
Conexión al servidor
Para acceder al servidor, necesita conocer la dirección IP. También necesitará su nombre de usuario y contraseña para la autenticación. Para conectarse al servidor como root, escriba el siguiente comando:
ssh root@IP_DEL_SERVER
A continuación, deberá ingresar la contraseña del usuario root.
Si no está utilizando el usuario root, puede iniciar sesión con otro nombre de usuario utilizando el mismo comando, luego cambie root a su nombre de usuario :
ssh nome_utente@IP_DEL_SERVER
Luego se le pedirá que ingrese su contraseña de usuario.
El puerto estándar para conectarse a través de ssh es 22 , si su servidor usa un puerto diferente, deberá especificarlo usando el parámetro -p , luego escriba el siguiente comando:
ssh nome_utente@IP_DEL_SERVER -p PORTA
Requisitos previos
Antes de comenzar, asegúrese de tener los siguientes requisitos:
- SO: Rocky Linux 8.5 (obsidiana verde)
- Memoria: 2 GB para pruebas
- CPU: 2
- Privilegios de raíz
Instalar Java OpenJDK
Para instalar Solr en su sistema Linux, necesita al menos Java OpenJDK 1.8 o posterior. Rocky Linux proporciona varias versiones de Java OpenJDK y, en este ejemplo, instalará Java OpenJDK 1.11 para la instalación de Solr.
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.
Si la instalación de Java es exitosa, verifique la 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.
Instalar Solr en Rocky Linux
En este paso, instalará la última versión de Solr (la versión actual es 8.11) en el sistema Rocky Linux. Instalará Solr utilizando el script de instalación incluido en el paquete de Solr.
1 Cambie el directorio de trabajo actual a ' / opt ' y descargue el binario Solr usando el siguiente comando:
cd /opt/
wget https://downloads.apache.org/lucene/solr/8.11.0/solr-8.11.0.tgz
Una vez que se complete el proceso de descarga, extraiga el script de instalación del paquete Solr:
tar xzf solr-8.11.0.tgz solr-8.11.0/bin/install_solr_service.sh --strip-components=2
Ahora verá el script de instalación de Solr ' install_solr_service.sh
'.
Ejecute el script de instalación como se muestra a continuación para instalar Solr:
tar xzf solr-8.11.0.tgz solr-8.11.0/bin/install_solr_service.sh --strip-components=2
Ahora el script de instalación instalará Solr con los siguientes detalles:
- El directorio de instalación es ' /opt/solr '.
- El directorio de datos de Solr estará disponible en el directorio ' /var/solr '.
- Solr se ejecutará como el usuario del sistema ' solr '.
- Defina el script systemd para Solr con el script ' solr '.
- Solr ahora se ejecuta en el puerto predeterminado ' 8083 '.
Verá un mensaje de advertencia sobre el límite de archivos y el límite de procesos para Solr, lo resolverá en el siguiente paso. Y el Solr ahora está funcionando en el puerto ' 8983 '.
Verifique el puerto ' LISTEN ' 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 utiliza 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 el ID de proceso de la aplicación Solr. Puede ver el PID de la aplicación Solr desde el comando ss anterior.
Luego, vuelva a cargar el administrador del sistema para aplicar el nuevo archivo de servicio systemd:
sudo systemctl daemon-reload
Luego, inicie y habilite el servicio ' solr
' usando el siguiente comando:
sudo systemctl enable --now solr
Verifique el servicio ' solr
' 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.
Ha finalizado la instalación básica de Solr en el sistema Rocky Linux.
Establezca un límite para archivos abiertos y procesos máximos para el usuario de Solr
Como puede ver arriba, durante la instalación de Solr recibió un mensaje de advertencia sobre el límite de archivos abiertos y el límite de proceso. Solr solicitó el límite mínimo de archivos abiertos y el límite máximo de proceso de " 65000 ".
Para resolver estos mensajes de advertencia, debe modificar la configuración de ' /etc/security/limits.conf ' y definir el límite máximo de archivos abiertos y el límite máximo de procesos para el usuario 'solr'.
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.
A continuación, verifique los límites de archivos abiertos y la cantidad máxima 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 en " 65000 ".
Ahora reinicie el servicio ' solr
' 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.
Comprobar la instalación de Solr
Para verificar la instalación de Solr, debe agregar el puerto ' 8983 ' a firewalld, luego puede iniciar sesión en el panel de la aplicación web de Solr.
Ejecute el siguiente comando firewall-cmd
para agregar el puerto ' 8983 ' a firewalld y recargar:
sudo firewall-cmd --add-port=8983/tcp --permanent
sudo firewall-cmd --reload
Ahora abra su navegador web e ingrese la dirección IP del servidor con el puerto ' 8983 ':
http://192.168.1.1:8983/
Verá el panel de control de Solr.
No hay autenticación ni autorización habilitada en la instalación predeterminada de Solr. Continúe con el siguiente paso para asegurar su implementación de Solr con autenticación y autorización.
Secure 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 de ' 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.
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 '
Luego, reinicie el servicio ' solr
' para aplicar una nueva configuración usando el siguiente comando systemctl:
sudo systemctl restart solr
Para verificar la autenticación de Solr, regrese a su navegador web e ingrese la dirección IP del servidor con el puerto de Solr ' 8983 ':
http://192.168.1.1:8983/
Ahora será redirigido a la página de inicio de sesión de Solr.
Ingrese el nombre de usuario ' solr ' y la contraseña ' SolrRocks ', luego haga clic en el botón ' Iniciar sesión '.
Y verás el tablero 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 su instalación de Solr con el complemento de autenticación básica.
Crea el primer núcleo Solr
En Solr, el término núcleo se refiere a un solo índice de Lucene y es posible crear múltiples núcleos en una sola distribución de Solr.
Cada núcleo contiene registros de transacciones y archivos de configuración como solrconfig.xml, archivo de esquema, etc. Además, puede indexar datos con diferentes estructuras en cada núcleo y puede presentarse a diferentes aplicaciones/audiencias.
Puede crear el núcleo usando la línea de comando ' solr ' o usando el panel de administración de Solr.
En este paso, aprenderá cómo crear un núcleo usando la línea de comando ' solr ' .
Antes de crear un núcleo, se deben 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 ' basic
'. Esto le indicará al comando ' solr
' que use el complemento de autenticación básico:
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.
Luego, cree un nuevo núcleo usando el comando solr a continuación. En este ejemplo, creará un nuevo núcleo con el nombre ' new_core
' y el nombre de configuración ' ConfigName
':
su - solr -c "/opt/solr/bin/solr create -c new_core -n ConfigName"
Ahora regrese al panel de administración de Solr para verificar el núcleo de Solr.
Verá los detalles básicos.
Y creó un núcleo Solr usando la línea de comando "solr".
Conclusión
¡Felicidades! Ha aprendido acerca de la instalación de Solr en el sistema Rocky Linux. Además, aprendió a proteger su distribución de Solr con el complemento de autenticación básico y aprendió a crear el núcleo desde la línea de comando "solr".