Cómo instalar Apache Solr en Rocky Linux

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 fiable, con indexación distribuida y tolerante a fallos. Además, viene con replicación y conmutación por error y recuperación automatizadas.

En la mayoría de los casos, Solr se utiliza para crear aplicaciones empresariales de 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ás a instalar Apache Solr en el sistema Rocky Linux, a activar la autenticación básica de Solr, a configurar el límite máximo de archivos abiertos y el límite máximo de procesos para el despliegue de Solr, y a crear el primer núcleo Solr desde la línea de comandos.

Requisitos previos

Antes de empezar, asegúrate de que tienes los siguientes requisitos:

  • Sistema operativo: Rocky Linux 8.5 (Green Obsidian)
  • Memoria: 2 GB para pruebas
  • CPU: 2
  • Privilegios de root

Ahora vamos a empezar.

Instalación de Java OpenJDK

Para instalar Solr en el sistema Linux, necesitas al menos Java OpenJDK 1.8 o superior. Rocky Linux proporciona varias versiones de Java OpenJDK, y en este ejemplo, instalarás Java OpenJDK 1.11 para la instalación de Solr.

1. Ejecuta 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

Escribe‘y‘ para confirmar la instalación y pulsa‘Enter‘ para continuar.

2. Si la instalación de java se completa, verifica la instalación utilizando el siguiente comando.

java --version

A continuación se muestra la salida similar que obtendrás.

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)

Has completado la instalación de Java OpenJDK 1.11 en el sistema Rocky Linux, y estás listo para descargar e instalar Solr en tu sistema.

Instalación de Solr en Rocky Linux

En este paso, instalarás la última versión de Solr (la versión actual es la 8.11) en el sistema Rocky Linux. Instalarás Solr utilizando el script de instalación incluido en el paquete Solr.

1. Cambia tu directorio de trabajo actual a ‘/opt’ y descarga el código binario de Solr utilizando el siguiente comando.

cd /opt/
wget https://downloads.apache.org/lucene/solr/8.11.0/solr-8.11.0.tgz

2. Una vez finalizado el proceso de descarga, extrae el script instalador del paquete Solr.

tar xzf solr-8.11.0.tgz solr-8.11.0/bin/install_solr_service.sh --strip-components=2

Ahora verás el script instalador de Solr‘install_solr_service.sh‘.

3. Ejecuta el script instalador 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 instalador 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 usuario del sistema‘solr‘.
  • Define el script systemd para Solr con el script‘solr‘.
  • Solr se ejecuta ahora en el puerto por defecto ‘8083‘.

Y verás una salida similar a la siguiente cuando finalice la instalación de Solr.

Instalación de Apache Solr

Verás un mensaje de advertencia sobre el límite de archivos y el límite de procesos para Solr, lo solucionarás en el siguiente paso. Y Solr ya está funcionando en el puerto ‘8983’.

4. Verifica el puerto ‘LISTEN‘ en tu sistema utilizando el siguiente comando.

ss -aplnt | grep java

Si la instalación de Solr es correcta, verás que el puerto ‘8983’ está siendo utilizado ahora por la aplicación 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))

Ahora mata el proceso Solr utilizando el siguiente comando.

pkill java
kill -9 PID

PID es el identificador de proceso de la aplicación Solr. Puedes ver el PID de la aplicación Solr en el comando ss de la parte superior.

5. A continuación, recarga el gestor del sistema para aplicar el nuevo archivo de servicio systemd.

sudo systemctl daemon-reload

6. Después, inicia y habilita el servicio ‘solr‘ utilizando el siguiente comando.

sudo systemctl enable --now solr

Verifica el servicio ‘solr‘ utilizando el siguiente comando.

sudo systemctl status solr

Ahora verás que el servicio ‘solr’ está ‘activo (salido)’. El servicio ‘solr’ se está ejecutando, pero el systemd no puede encontrar ningún demonio que monitorizar.

Iniciar y activar Solr

Y ya has terminado la instalación básica de Solr en el sistema Linux Rocky.

Configurar los Límites de Archivos Abiertos y Proceso Máximo para el Usuario Solr

Como puedes ver arriba, durante la instalación de Solr recibiste un mensaje de advertencia sobre el límite de archivos abiertos y el límite de procesos. Solr exigía que el límite mínimo de archivos abiertos y el límite máximo de procesos fueran«65000».

Para solucionar estos mensajes de advertencia, debes editar la configuración‘/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’.

1. Edita la configuración ‘/etc/security/limits.conf’ utilizando el editor nano.

sudo nano /etc/security/limits.conf

Copia y pega 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

Guarda la configuración y sal.

2. A continuación, verifica los límites de archivos abiertos y usuario máximo procesados utilizando lo siguiente.

sudo -u solr ulimit -a

Y verás que el límite de archivos abiertos y el límite de usuario máximo procesado son‘65000‘ como se indica a continuación.

Configurar límite

3. Ahora reinicia el servicio‘solr‘ utilizando el siguiente comando.

sudo systemctl restart solr

Ahora has completado la configuración del límite máximo de archivos abiertos y el límite máximo de procesos para la aplicación Solr.

Verificar la instalación de Solr

Para verificar la instalación de Solr, necesitas añadir el puerto‘8983‘ al firewalld, entonces podrás acceder al panel de control de la aplicación web Solr.

1. Ejecuta el siguiente comando firewall-cmd para añadir el puerto ‘8983‘ a firewalld y vuelve a cargar.

sudo firewall-cmd --add-port=8983/tcp --permanent
sudo firewall-cmd --reload

2. Ahora abre tu navegador web y escribe la dirección IP del servidor con el puerto8983′ como se indica a continuación.

http://192.168.1.10:8983/

Y verás el panel de Solr como se indica a continuación.

Panel Solr

No hay autenticación ni autorización habilitadas en la instalación por defecto de Solr. Pasa a la siguiente fase para asegurar la instalación de Solr con autenticación y autorización.

Asegurar Solr con autenticación básica

En este paso, aprenderás a habilitar la «Autenticación Básica para Solr».

Para habilitar la Autenticación Básica de Solr, debes 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, puedes comprobar el directorio de datos de Solr desde el panel de control de Solr como se indica a continuación.

Directorio de inicio de Solr

1. Cambia tu directorio de trabajo a ‘/var/solr/data’ y crea un nuevo archivo de configuración‘security.json‘ utilizando el editor nano.

cd /var/solr/data/
sudo -u solr nano security.json

Copia y pega 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"}
  }
}

Guarda la configuración y sal.

Esto creará un nuevo usuario administrador«solr» con la contraseña«SolrRocks«.

2. A continuación, reinicia el servicio ‘solr’ para aplicar la nueva configuración utilizando el siguiente comando systemctl.

sudo systemctl restart solr

3. Para verificar la autenticación de Solr, vuelve a tu navegador web y escribe la dirección IP del servidor con el puerto‘8983‘ de Solr.

http://192.168.1.10:8983/

Ahora serás redirigido a la página de inicio de sesión de Solr como se indica a continuación.

Página de inicio de sesión de Solr

Escribe el nombre de usuario‘solr‘ y la contraseña‘SolrRocks‘, y pulsa el botón ‘Iniciar sesión’.

Verás el panel de control de Solr.

En la sección ‘Seguridad‘, verás un plugin detallado de autenticación y autorización con el nombre de usuario y los roles que estás utilizando actualmente.

Autenticación Solr activada

Ahora ya has asegurado la instalación de Solr con el plugin de Autenticación Básica.

Crea primero un núcleo Solr

En Solr, el término núcleo se refiere a un único índice Lucene, y puedes crear varios núcleos en una única 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, puedes indexar datos con diferentes estructuras en cada núcleo y pueden presentarse a diferentes aplicaciones/audiencias.

Puedes crear núcleos utilizando la línea de comandos‘solr‘ o utilizando el panel de administración de Solr.

En este paso, aprenderás a crear un núcleo utilizando la línea de comandos ‘solr‘.

1. Antes de crear un núcleo, debes configurar las credenciales de Solr.

Cambia tu directorio de trabajo a‘/opt/solr/bin‘ y copia la configuración por defecto ‘solr.in.sh.orig‘ a‘solr.in.sh‘.

cd /opt/solr/bin/
cp solr.in.sh.orig solr.in.sh

Edita la configuración ‘solr.in.sh’ utilizando el editor nano.

sudo nano solr.in.sh

Descomenta la opción‘SOLR_AUTH_TYPE‘ y cambia el valor a‘basic‘. Esto indicará al comando ‘solr’ que utilice el complemento de autenticación básica.

SOLR_AUTH_TYPE="basic"

Descomenta la opción ‘SOLR_AUTHENTICATION_OPTS‘ y cambia el valor con el usuario y la contraseña de Solr como se indica a continuación.

SOLR_AUTHENTICATION_OPTS="-Dbasicauth=solr:SolrRocks"

Guarda la configuración y sal.

2. A continuación, crea un nuevo núcleo utilizando el siguiente comando solr. En este ejemplo, crearás un nuevo núcleo con el nombre‘nuevo_núcleo’ y el nombre de configuración‘NombreConfiguración‘.

su - solr -c "/opt/solr/bin/solr create -c new_core -n ConfigName"

3. Ahora vuelve al panel de administración de Solr para verificar el núcleo Solr.

Verás los detalles del núcleo como se indica a continuación.

Núcleo Solr

Y habrás creado un núcleo Solr utilizando la línea de comandos ‘solr’.

Conclusión

¡Enhorabuena! Has aprendido la instalación de Solr en el sistema Rocky Linux. Además, has aprendido a asegurar el despliegue de Solr con el plugin de Autenticación Básica y has aprendido a crear un núcleo desde la línea de comandos ‘solr’.

También te podría gustar...