Apache Solr, una plataforma de búsqueda de nivel empresarial basada en la biblioteca Apache Lucene, es una herramienta poderosa y popular utilizada por grandes empresas de internet como Adobe, Netflix e Instagram. Ofrece alta disponibilidad, escalabilidad y tolerancia a fallos, lo que lo convierte en una excelente elección para la construcción de aplicaciones empresariales.
Instalación de Java OpenJDK 11
Para ejecutar Apache Solr, necesitamos instalar Java OpenJDK 11. Sigue estos pasos:
- Actualiza la lista de paquetes de tu sistema:
sudo dnf update
- Instala Java OpenJDK 11:
sudo dnf install java-11-openjdk java-11-openjdk-devel
- Verifica la versión de Java:
java --version
Deberías ver la versión instalada de Java OpenJDK 11.
Instalación de Apache Solr
Una vez que tengas instalado Java OpenJDK 11, puedes proceder con la instalación de Apache Solr:
- Instala los paquetes necesarios:
sudo dnf install curl lsof chkconfig -y
- Descarga el paquete binario de Apache Solr (versión 9.2.1):
curl -so https://downloads.apache.org/solr/solr/9.2.1/solr-9.2.1.tgz
- Extrae el script del instalador:
tar xzf solr-9.2.1.tgz solr-9.2.1/bin/install_solr_service.sh--strip-components=2
- Instala Apache Solr:
sudo bash ./install_solr_service.sh solr-9.2.1.tgz
- Detén el proceso actual de Apache Solr:
sudo service solr stop
- Inicia el servicio de Apache Solr:
sudo service solr start
- Verifica el servicio de Apache Solr:
sudo service solr status
Si Apache Solr está en ejecución, deberías ver una salida similar confirmando su estado.
Optimización de la instalación de Apache Solr
Para optimizar el rendimiento de Apache Solr, puedes configurar su memoria máxima y la dirección IP interna. Sigue estos pasos:
- Aumenta los valores
shmmax
ynr_hugepages
:
sudo echo 4294967295 > /proc/sys/kernel/shmmax sudo echo 1536 > /proc/sys/vm/nr_hugepages
- Abre el archivo
solr.in.sh
:
sudo nano /etc/default/solr.in.sh
- Descomenta el parámetro
SOLR_HEAP
y establece la memoria máxima deseada (por ejemplo, 4g):
SOLR_HEAP="4g"
- Descomenta los parámetros
SOLR_JETTY_HOST
ySOLR_HOST
y establece tu dirección IP interna:
SOLR_HOST="" SOLR_JETTY_HOST=""
- Guarda los cambios y sal del editor.
- Reinicia el servicio de Apache Solr:
sudo service solr restart
- Verifica el estado de Apache Solr:
sudo service solr status
Configuración de Ulimits y Firewalld
Para asegurar que Apache Solr funcione sin problemas, necesitas configurar los procesos máximos y los archivos abiertos máximos, y abrir el puerto necesario en firewalld. Sigue estos pasos:
- Abre el archivo
limits.conf
:
sudo nano /etc/security/limits.conf
- Agrega la siguiente configuración al final del archivo:
solr soft nofile 65000 solr hard nofile 65000 solr soft nproc 65000 solr hard nproc 65000
- Guarda el archivo y sal del editor.
- Comprueba los procesos máximos y los archivos abiertos máximos:
sudo -H -u solr bash -c "ulimit -aH"
Asegúrate de que ambos ajustes muestren un valor de 65,000.
- Reinicia el servicio de Apache Solr:
sudo service solr restart
- Abre el puerto 8983 en firewalld:
sudo firewall-cmd --add-port=8983/tcp --permanent
- Recarga firewalld para aplicar los cambios y verifica las reglas:
sudo firewall-cmd --reload sudo firewall-cmd --list-all
Deberías ver el puerto 8983 listado en las reglas de firewalld.
Seguridad de Apache Solr con autenticación básica
Por defecto, Apache Solr se instala sin autenticación, lo cual puede ser un riesgo de seguridad. Para asegurarlo, habilitaremos la autenticación básica. Sigue estos pasos:
- Crea un archivo security.json:
sudo nano /var/solr/data/security.json
- Inserta la siguiente configuración para crear un nuevo usuario con el nombre de usuario y contraseña deseados:
{ "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.
- Reinicia el servicio de Apache Solr:
sudo service solr restart
- Actualiza el panel de administración de Apache Solr en tu navegador web.
- Ahora deberías ver una página de inicio de sesión. Introduce el nombre de usuario y la contraseña que estableciste en el archivo security.json.
- Una vez autenticado, puedes acceder al panel de Apache Solr.
Creación de tu primer índice Solr
Con Apache Solr instalado y asegurado, ahora puedes crear tu primer índice Solr. Sigue estos pasos:
- Abre el archivo
solr.in.sh
:
sudo nano /etc/default/solr.in.sh
- Descomenta los parámetros
SOLR_AUTH_TYPE
ySOLR_AUTHENTICATION_OPTS
. - Guarda el archivo y sal del editor.
- Reinicia el servicio de Apache Solr:
sudo service solr restart
- Crea un nuevo índice Solr:
su- solr -c "/opt/solr/bin/solr create -c test1_core -n Test1Core"
- Verifica la creación del nuevo índice Solr en el panel de administración de Apache Solr.
Para soluciones de hosting en la nube confiables y escalables, considera los servicios de VPS SSD de Linux de Shape.host. Shape.host ofrece servicios de hosting de primera calidad, empoderando a las empresas con soluciones eficientes, escalables y seguras. Visita Shape.host para más información.