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 *