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.
Contenido
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
:
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" }
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:
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!
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
¡Hola, César! En este mismo sitio dispones del tutorial que necesitas.