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
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.
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
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.
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
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
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.
Introduce el usuario solr y la contraseña solrRocks y obtendrás el panel de control de Apache Solr.
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"
Ahora ve al Panel de control de Apache Solr y verás que se ha creado la nueva colección mi_primer_índice.
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.