Cómo instalar Elasticsearch en CentOS 8

En este artículo veremos cómo instalar Elasticsearch en CentOS 8 paso a paso, uno de los sistemas de búsqueda más valorados en los entornos de Big Data, ahora disponible para nuestro servidor o VPS CentOS.

Antes de instalar Elasticsearch en CentOS 8

Si quieres seguir los pasos de esta guía de instalación de Elasticsearch en CentOS 8 debes asegurarte de cumplir los siguientes requisitos básicos:

  • Un sistema CentOS 8 actualizado que disponga de al menos 1 GB de RAM libre.
  • Entorno de ejecución de Java, o JRE.
  • Acceso a línea de comandos con un usuario con permisos de sudo, o el mismo root.
  • Conexión a Internet.

En caso de no contar con el entorno mínimo necesario es recomendable consultar previamente nuestra guía de instalación de Java en CentOS 8.

Cómo configurar el repositorio de Elasticsearch para CentOS 8

Vamos a configurar el repositorio de Elasticsearch para CentOS 8, ya que los repositorios del sistema no disponen de paquetes para este software.

Por tanto crearemos un nuevo archivo de repositorio:

~$ sudo nano /etc/yum.repos.d/elasticsearch.repo

Con el siguiente contenido:

[elasticsearch-7.x]
name=Repositorio Elasticsearch 7.x para CentOS 8
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

La configuración del repositorio incluye la clave pública con la que se pueden comprobar las firmas de los paquetes, así que tenemos todo lo necesario para empezar.

Guardamos el contenido, cerramos el archivo y actualizamos la información de los repositorios para que se incluyan los paquetes disponibles de Elasticsearch para CentOS 8:

~$ sudo yum update

Cómo instalar Elasticsearch en CentOS 8

Vamos a instalar Elasticsearch en CentOS 8 desde el nuevo repositorio que acabamos de configurar, siendo el paquete que buscamos elasticsearch, que instalamos con yum:

~$ sudo yum install -y elasticsearch

La descarga puede tomar algunos minutos, ya que el paquete supera los 300 MB. Tras la descarga e instalaicón de Elasticsearch se crea un servicio elasticsearch.service, o elasticsearch, que no queda iniciado ni habilitado.

Arrancamos por primera vez el servicio Elasticsearch con el comando systemctl:

~$ sudo systemctl start elasticsearch

El servicio puede tardar varios segundos en arrancar.

Una vez liberada la consola podemos comprobar el estado del servicio systemctl status elasticsearch:

como instalar elasticsearch en centos 8

Si queremos que Elasticsearch inicie de forma automática con cada arranque de CentOS 8, debemos habilitar el servicio:

~$ sudo systemctl enable elasticsearch

Hacemos una prueba local con el comando curl localhost:9200:

~$ curl localhost:9200
{
  "name" : "centos8",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "rEscKX-JRoOeCC4nwwpbFQ",
  "version" : {
    "number" : "7.11.0",
    "build_flavor" : "default",
    "build_type" : "rpm",
    "build_hash" : "8ced7813d6f16d2ef30792e2fcde3e755795ee04",
    "build_date" : "2021-02-08T22:44:01.320463Z",
    "build_snapshot" : false,
    "lucene_version" : "8.7.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

instalar elasticsearch en centos 8

Entre la información que obtenemos podremos ver la versión de Elasticsearch que está ejecutándose.

Cómo configurar Elasticsearch en CentOS 8

Vamos a configurar Elasticsearch en CentOS 8 trabajando sobre sus archivos de configuración, alojados en la ruta /etc/elasticsearch/.

Acceso en red a Elasticsearch

Por defecto Elasticsearch sólo permite conexiones locales, desde el propio sistema CentOS 8 en el que corre el servicio, pero puede que necesitemos conectar desde red. En este caso editamos el archivo elasticsearch.yml:

~$ sudo nano /etc/elasticsearch/elasticsearch.yml

Buscamos la directiva network.host:

...
#network.host: 192.168.0.1
...

La activamos o añadimos una nueva:

...
#network.host: 192.168.0.1
network.host: 0.0.0.0
...

Tenemos también que configurar el valor de discovery.seed_hosts:

...
#discovery.seed_hosts: ["host1", "host2"]
...

La modificamos o añadimos una nueva, indicando «localhost» para un servicio aislado, o la lista del resto de servidores que formen un servicio distribuido:

...
#discovery.seed_hosts: ["host1", "host2"]
discovery.seed_hosts: ["localhost"]
...

Guardamos los cambios y reiniciamos el servicio:

~$ sudo systemctl restart elasticsearch

Cómo configurar el firewall de CentOS 8 para Elasticsearch

Por defecto el firewall de CentOS 8 suele estar desactivado, por lo que debemos configurarlo para poder acceder a Elasticsearch desde red.

Creamos una nueva zona del firewall:

~$ sudo firewall-cmd --permanent --new-zone=elasticsearch

Añadimos las direcciones o redes que nos interesen:

~$ sudo firewall-cmd --permanent --zone=elasticsearch --add-source=192.168.1.0/24

Y añadimos el puerto del servicio:

~$ sudo firewall-cmd --permanent --zone=elasticsearch --add-port=9200/tcp

Para aplicar los cambios será necesario recargar la configuración del firewall:

~$ sudo firewall-cmd --reload

Prueba de conexión a Elasticsearch

Para probar la conexión a Elasticsearch en CentOS 8 desde un navegador, utilizaremos la dirección IP, nombre DNS, dominio, etc. del servidor especificando el puerto de conexión 9200.

Por ejemplo, la máquina CentOS 8 sobre la que hemos probado este artículo es accesible en el subdominio centos8.local.lan, por lo que emplearemos http://centos8.local.lan:9200 como URL:

como instalar y configurar elasticsearch en centos 8

Ya tenemos todo listo para empezar a trabajar con el servicio.

Conclusión

Ahora que sabes cómo instalar Elasticsearch en CentOS 8 ya puedes probar este sistema de búsqueda y analítica de texto y Big Data en tu propio sistema.

Si te ha surgido alguna pregunta o duda, tienes sugerencias de mejora o actualización del artículo, notificaciones de posibles errores, etc. puedes dejar un comentario, que revisaremos lo antes posible.

¡Apoya comoinstalar.me!

¿Ya tienes en marcha este servicio de búsqueda en tu máquina gracias a nuestra breve guía de instalación? En ese caso, si quieres agradecérnoslo colaborando con el mantenimiento de este sitio y la creación de nuevos tutoriales y guías, puedes dejar 1 $ de propina desde PayPal:

O, si te sientes especialmente agradecido, puedes invitarnos a un café:

¡Gracias!

Valora esta entrada

5/5 - (1 voto)

2 comentarios en «Cómo instalar Elasticsearch en CentOS 8»

  1. Gracias por tan completo tuto… Me pregunto si este mismo paso a paso me sirve para un CentOS 7.9. Debo instalarlo como requisito para mi sistema Magento2, pues dicho CMS lo exige tener para poder instalarlo, pero me queda la duda si también requiero los pasos de acceso en red a Elasticsearch…. ¡En espera de sus comentarios!

    atte

    Cesar Camilo

    Responder

Deja un comentario