Cómo instalar Elasticsearch en CentOS 8 Linux

1 mar 2021 4 min di lettura
Cómo instalar Elasticsearch en CentOS 8 Linux
Indice dei contenuti

Introducción

Elasticsearch es un motor de análisis y búsqueda de texto completo distribuido de código abierto. Admite operaciones RESTful y le permite almacenar, buscar y analizar grandes volúmenes de datos en tiempo real. Elasticsearch es uno de los motores de búsqueda más populares que impulsa aplicaciones que tienen requisitos de búsqueda complejos, como grandes tiendas de comercio electrónico y aplicaciones de análisis.

Este tutorial cubre la instalación de Elasticsearch en CentOS 8.

Si desea instalar Elasticsearch en un servidor remoto, continúe leyendo; de lo contrario, omita el primer párrafo "Conexión al servidor" y lea el siguiente.

Conexión al servidor

Para acceder al servidor, necesita conocer la dirección IP. También necesitará su nombre de usuario y contraseña para la autenticación. Para conectarse al servidor como root, escriba el siguiente comando:

ssh root@IP_DEL_SERVER

A continuación, deberá ingresar la contraseña del usuario root.

Si no usa el usuario raíz, puede iniciar sesión con otro nombre de usuario usando el mismo comando, luego cambie la raíz a su nombre de usuario:

ssh nome_utente@IP_DEL_SERVER

Luego se le pedirá que ingrese su contraseña de usuario.

El puerto estándar para conectarse a través de ssh es 22, si su servidor usa un puerto diferente, deberá especificarlo usando el parámetro -p, luego escriba el siguiente comando:

ssh nome_utente@IP_DEL_SERVER -p PORTA

Instalar Java

Elasticsearch es una aplicación Java, por lo que el primer paso es instalar Java.

Ejecute el comando como root o usuario con el comando sudo para instalar el paquete OpenJDK:

sudo dnf install java-11-openjdk-devel

Verifique la instalación de Java imprimiendo la versión de Java:

java -version

La salida debería verse así:

openjdk version "11.0.5" 2019-10-15 LTS
 OpenJDK Runtime Environment 18.9 (build 11.0.5+10-LTS)
 OpenJDK 64-Bit Server VM 18.9 (build 11.0.5+10-LTS, mixed mode, sharing)

Instalar Elasticsearch

Elasticsearch no está disponible en los repositorios estándar de CentOS 8. Lo instalaremos desde el repositorio Elasticsearch RPM.

Importe el repositorio GPG usando el comando rpm

sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

Abra su editor de texto y cree el archivo de repositorio en el directorio /etc/yum.repos.d/

sudo vi /etc/yum.repos.d/elasticsearch.repo

Pegue el siguiente contenido en el archivo:

[elasticsearch-7.x]
 name=Elasticsearch repository for 7.x packages
 baseurl=https://artifacts.elastic.co/packages/7.x/yum
 gpgcheck=1
 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
 enabled=1
 autorefresh=1
 type=rpm-md

Guarde el archivo y cierre el editor de texto.

En el momento de escribir este artículo, la última versión de Elasticsearch es la 7.6. Si desea instalar una versión anterior de Elasticsearch, cambie 7.x la versión que necesita.

Ahora que el repositorio está habilitado, instale el paquete Elasticsearch escribiendo:

sudo dnf install elasticsearch

Una vez que se complete el proceso de instalación, inicie y habilite el servicio:

sudo systemctl enable elasticsearch.service --now

Para verificar que Elasticsearch se esté ejecutando, use curl para enviar una solicitud HTTP al puerto 9200 en localhost:

curl -X GET "localhost:9200/"

La salida se verá así:

{
 "name": "TEST-SERVER-1",
 "cluster_name": "elasticsearch",
 "cluster_uuid": "PT16lhJVQiaMPxKMYoXrDg",
 "version": {
 "number": "7.6.0",
 "build_flavor": "default",
 "build_type": "rpm",
 "build_hash": "7f634e9f44834fbc12724506cc1da681b0c3b1e3",
 "build_date": "2020-02-06T00:09:00.449973Z",
 "build_snapshot": false,
 "lucene_version": "8.4.0",
 "minimum_wire_compatibility_version": "6.8.0",
 "minimum_index_compatibility_version": "6.0.0-beta1"
 },
 "tagline": "You Know, for Search"
 }

El servicio puede tardar entre 5 y 10 segundos en iniciarse. Si ve curl: (7) Failed to connect to localhost port 9200: Connection refused, espere unos segundos y vuelva a intentarlo.

Para ver los mensajes registrados por el servicio Elasticsearch, use el siguiente comando:

sudo journalctl -u elasticsearch

En este punto, ha instalado Elasticsearch en su servidor CentOS.

Configurar Elasticsearch

Los datos de Elasticsearch se almacenan en el /var/lib/elasticsearch, los archivos de configuración se encuentran en /etc/elasticsearch.

De forma predeterminada, Elasticsearch está configurado para escuchar solo en localhost. Si el cliente que se conecta a la base de datos se ejecuta en el mismo host y está configurando un clúster de un solo nodo, no es necesario que cambie el archivo de configuración predeterminado.

Acceso remoto

Elasticsearch no implementa la autenticación de forma predeterminada, por lo que cualquiera que pueda acceder a la API HTTP puede acceder a ella. Si desea permitir el acceso remoto al servidor Elasticsearch, deberá configurar el firewall y permitir el acceso al puerto 9200 de Elasticsearch solo desde clientes confiables.

Por ejemplo, para permitir solo conexiones desde 192.168.222.222, ingrese los siguientes comandos.

Ejecute el siguiente comando para permitir la evaluación desde la dirección IP remota de confianza en el puerto 9200:

sudo firewall-cmd --new-zone=elasticsearch --permanent
sudo firewall-cmd --reload
sudo firewall-cmd --zone=elasticsearch --add-source=192.168.222.222/32 --permanent
sudo firewall-cmd --zone=elasticsearch --add-port=9200/tcp --permanent
sudo firewall-cmd --reload

No olvide cambiar 192.168.222.222 a su dirección IP remota.

A continuación, si desea permitir el acceso desde otra dirección IP, use:

sudo firewall-cmd --zone=elasticsearch --add-source=<IP_ADDRESS> --permanent

Una vez que se configura el firewall, el siguiente paso es cambiar la configuración de Elasticsearch y permitir que Elasticsearch escuche las conexiones externas.

Para hacer esto, abra el archivo de configuración elasticsearch.yml

sudo nano /etc/elasticsearch/elasticsearch.yml

Busque la línea que contiene network.host, descomente y cambie el valor a 0.0.0.0:

network.host: 0.0.0.0

Luego busque la línea que contiene discovery.seed_hosts: ['host1',..], descomente y cambie el valor así:

discovery.seed_hosts: []

Guarde y cierre el archivo.

Si hay varias interfaces de red en su computadora, especifique la dirección IP de la interfaz para forzar a Elasticsearch a escuchar solo la interfaz proporcionada.

Reinicie el servicio Elasticsearch para que los cambios surtan efecto:

sudo systemctl restart elasticsearch

Eso es todo. Ahora puede conectarse al servidor Elasticsearch desde la ubicación remota.

Conclusión

Le mostramos cómo instalar Elasticsearch en CentOS 8.

Para obtener más información sobre Elasticsearch, visite la página de documentación oficial.

Support us with a

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.