Cómo instalar Apache Solr en un servidor Ubuntu 24.04

Apache Solr es una plataforma de búsqueda de código abierto basada en Apache Lucene, diseñada para crear potentes capacidades de búsqueda e indexación de aplicaciones. Proporciona búsqueda avanzada de texto completo, búsqueda facetada, indexación en tiempo real y búsqueda distribuida, lo que la convierte en una opción popular para construir motores de búsqueda y sistemas de recuperación de datos.

Solr es altamente escalable y está optimizado para grandes volúmenes de datos, por lo que suele utilizarse en entornos empresariales para tareas como la búsqueda en sitios web, el comercio electrónico y el análisis de grandes volúmenes de datos. Su API tipo REST permite una fácil integración con otros sistemas, y admite funciones como resaltar las sugerencias de consulta y la búsqueda geoespacial. La flexibilidad, el rendimiento y el apoyo de la comunidad de Solr lo han convertido en una solución líder para las organizaciones que necesitan una sólida funcionalidad de búsqueda.

En esta guía, aprenderás a instalar Apache Solr en el servidor Ubuntu 24.04. Además, también aprenderás a asegurar Apache Solr con BasicAuthentication y a crear la primera colección con la línea de comandos solr.

Requisitos previos

Para empezar con esta guía, asegúrate de que tienes lo siguiente:

  • Un servidor Ubuntu 24.04
  • Un usuario no root con privilegios de administrador

Preparación del servidor Ubuntu

Antes de instalar Apache Solr, vamos a preparar y configurar nuestro sistema Ubuntu aumentando el shmmax y nr_hugepages en el parámetro del kernel, y luego aumentando el máximo predeterminado de archivos y procesos abiertos.

Ejecuta el comando siguiente para aumentar shmmax y nr_hugepages en tu servidor Ubuntu.

sudo echo 4294967295 > /proc/sys/kernel/shmmax
sudo echo 1536 > /proc/sys/vm/nr_hugepages

Ahora ejecuta el siguiente comando para modificar el archivo /etc/security/limits.conf.

sudo nano /etc/security/limits.conf

Aumenta el máximo de archivos y procesos abiertos para el usuario solr con la siguiente configuración.

solr soft nofile 65000
solr hard nofile 65000
solr soft nproc 65000
solr hard nproc 65000

Guarda el archivo y sal del editor.

Instalación del OpenJDK de Java

Ahora que ya has configurado tu sistema, vamos a instalar Java OpenJDK en nuestro sistema. Apache Solr requiere al menos Java 11 instalado en tu sistema, y para esta guía, utilizaremos el paquete default-jdk que ofrece la última versión estable de Java OpenJDK.

En primer lugar, actualiza tu índice de paquetes de Ubuntu con lo siguiente.

sudo apt update

Ahora instala el paquete default-jdk utilizando el siguiente comando. Introduce Y para confirmar la instalación.

sudo apt install default-jdk

instalar jdk

Una vez finalizada la instalación, comprueba la versión de Java con el siguiente comando.

java --version

Puedes ver a continuación que Java 21 está instalado.

comprobar versión java

Instalación de Apache Solr

Ahora que tu sistema Ubuntu está configurado y el OpenJDK de Java instalado, vamos a iniciar la instalación de Apache Solr. En esta guía, instalarás Apache Solr utilizando el script de instalación proporcionado por el paquete Solr.

Para empezar, ejecuta el siguiente comando para instalar herramientas básicas como curl, lsof y bc.

sudo apt install curl lsof bc

instalar paquete básico

Ahora descarga el paquete binario de Apache Solr con el siguiente comando wget.

wget https://www.apache.org/dyn/closer.lua/solr/solr/9.7.0/solr-9.7.0.tgz?action=download

Cambia el nombre del paquete Apache Solr y extrae el script install_solr_service.sh del instalador con el comando que aparece a continuación.

mv solr-9.7.0.tgz?action=download solr-9.7.0.tgz
tar -xf tar xzf solr-9.7.0.tgz solr-9.7.0/bin/install_solr_service.sh --strip-components=2

Ahora ejecuta el script install_solr_service. sh para instalar Apache Solr.

sudo bash ./install_solr_service.sh solr-9.7.0.tgz

A continuación puedes ver la instalación detallada de Apache Solr.

  • El directorio de instalación por defecto se encuentra en el directorio /opt/solr.
  • El nuevo usuario solr se crea automáticamente.
  • Se crea el nuevo archivo de servicio solr.service para gestionar el servicio Apache Solr.

instalar solr

Ahora comprueba el estado de solr con el siguiente comando. Puedes ver solr con el estado active(exited), lo que significa que el servicio se está ejecutando, pero el systemd no puede encontrar ningún archivo que monitorizar.

sudo systemctl status solr

comprobar solr

También puedes comprobar los puertos abiertos en tu sistema utilizando el comando ss que aparece a continuación. Apache Solr debería estar ejecutándose en el puerto 8893.

ss -tulpn

Configurar Apache Solr

Ahora que Apache Solr está instalado, vamos a configurarlo modificando los parámetros de Apache Solr dentro del script /etc/default/solr.in.sh. A continuación, aumenta el montón máximo de memoria por defecto y la dirección IP utilizada para ejecutar Apache Solr.

Abre el archivo de configuración de Solr /etc/default/solr.in.sh utilizando el editor vim.

sudo vim /etc/default/solr.in.sh

Cambia la opción por defecto SOLR_HEAP por la asignación de memoria máxima para Apache Solr. En este ejemplo, utilizaremos 4 GB de RAM.

SOLR_HEAP="4g"

Introduce tu dirección IP en las opciones SOLR_HOST y SOLR_JETTY_HOST. En este ejemplo, Apache Solr se ejecutará en la dirección IP local 192.169.10.60.

SOLR_HOST="192.168.10.15"
SOLR_JETTY_HOST="192.168.10.15"

Ahora ejecuta el siguiente comando systemctl para reiniciar el servicio Apache Solr y aplicar tus cambios.

sudo systemctl restart solr

Puedes comprobar el puerto abierto y qué dirección IP utiliza Apache Solr con el comando ss que aparece a continuación.

ss -tulpn

comprobar solr ss

Proteger Apache Solr con autenticación

Después de configurar Apache Solr, el siguiente paso es asegurar tu despliegue. En este ejemplo, utilizaremos la autenticación básica para asegurar Apache Solr. Esto puede hacerse creando un nuevo archivo /var/solr/data/security.json.

Crea una nueva configuración /var/solr/data/security. json con el editor vim.

sudo vim /var/solr/data/security.json

Introduce la configuración que aparece a continuación para configurar la autenticación para Apache Solr y crear un nuevo usuario solr con la contraseña solrRocks.

{
 "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 el archivo y sal del editor.

Ahora ejecuta el siguiente comando systemctl para reiniciar el servicio solr y aplicar tus cambios.

sudo systemctl restart solr

A continuación, abre tu navegador web y visita tu instalación de Apache Solr http://192.168.10.60:8983/. Se te redirigirá a la página de inicio de sesión de Apache Solr.

inicio de sesión

Introduce el usuario solr y la contraseña solrRocks y obtendrás el panel de control de Apache Solr.

html

Crear la primera colección en Apache Solr

Llegados a este punto, ya has configurado y asegurado Apache Solr. Ahora crearás la Primera Colección en Apache Solr desde la línea de comandos.

Abre de nuevo el archivo /etc/default/solr.in.sh con el editor vim.

sudo vim /etc/default/solr.in.sh

Descomenta las líneas SOLR_AUTH_TYPE y SOLR_AUTHENTICATION_OPTS, y deja ambas por defecto.

SOLR_AUTH_TYPE="basic"
SOLR_AUTHENTICATION_OPTS="-Dbasicauth=solr:SolrRocks"

Guarda el archivo y sal del editor.

Ahora ejecuta el siguiente comando para reiniciar el servicio Apache Solr.

sudo systemctl restart solr

A continuación, ejecuta el siguiente comando para crear tu primera colección con el nombre mi_primer_índice.

su - solr -c "/opt/solr/bin/solr create -c my_first_index -n MyIndex"

crear índice

Ahora ve al Panel de control de Apache Solr y verás que se ha creado la nueva colección mi_primer_índice.

índice creado

Conclusión

¡Enhorabuena! Has completado la instalación de Apache Solr en el servidor Ubuntu 24.04. Lo has instalado con el OpenJDK 21 de Java, lo has configurado para que se ejecute en una dirección IP local y lo has asegurado con BasicAuthentication. Por último, has creado la primera colección utilizando la línea de comandos de Solr.

También te podría gustar...