Cómo instalar Apache Solr en Rocky Linux

Instalación de Apache Solr

Apache Solr o Solr es una plataforma de búsqueda 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. 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 de nivel empresarial que ofrecen un alto rendimiento. Solr es utilizado por algunos sitios grandes 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 previos

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 empecemos.

Instalación de Java OpenJDK

Para instalar Solr en el sistema Linux, necesita al menos Java OpenJDK 1.8 o superior. Rocky Linux proporciona 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

Escribe ‘y‘ para confirmar la instalación y presione ‘Ingresar‘ continuar.

2. Si se completa la instalación de Java, verifique su instalación con 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.

Instalación de 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 Solr.

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

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

3. Ejecute el script del instalador como se muestra 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 el directorio ‘/var/solr’.
  • Solr se ejecutará como un 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á un resultado similar al siguiente cuando se complete la instalación de Solr.

Instalación de Apache 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 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.

Iniciar y habilitar Solr

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

La configuración limita los archivos abiertos y el proceso máximo para el usuario 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 resolver estos mensajes de advertencia, debe 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. 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. A continuación, verifique los límites del archivo abierto y el número máximo de usuarios procesados ​​utilizando 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.

Límite de configuración

3. 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.

Verificar la 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.

Tablero Solr

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.

Protección de 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.

Directorio de inicio de Solr

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 comando systemctl a continuación.

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.

Página de inicio de sesión de Solr

Escriba el nombre de usuario ‘Solr‘ y contraseña ‘SolrRocks‘, luego haga clic en el botón ‘Iniciar sesión’.

Y verás el tablero de Solr.

En el ‘Seguridad‘, verá un complemento de autenticación y autorización detallado con el nombre de usuario y las funciones que está utilizando actualmente.

Autenticación Solr habilitada

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 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’.

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.

Núcleo Solr

Y ha creado un núcleo Solr usando la línea de comando ‘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’.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *