Cómo instalar Elasticsearch en Debian 10 Buster

Cómo instalar Elasticsearch en Debian 10 Buster

En esta entrada vamos a ver cómo instalar Elasticsearch en Debian 10 Buster paso a paso, de modo que puedas trabajar con este conocido sistema de búsqueda y análisis de grandes cantidades de datos en tu servidor o VPS Debian.

Antes de instalar Elasticsearch en Debian 10 Buster

Si quieres completar los pasos de esta guía de instalación de Elasticsearch en Debian 10 Buster debes cumplir estos requisitos mínimos:

  • Una máquina Debian 10 Buster actualizada.
  • El entorno de ejecución de Java.
  • El paquete gnupg.
  • Un usuario con permisos de sudo o el mismo root.
  • Acceso a Internet.

Si no tienes listo aún el entorno, puedes consultar nuestra guía de instalación de Java en Debian 10 Buster.

Cómo configurar el repositorio de Elasticsearch para Debian 10 Buster

Instalamos la clave pública para verificar las firmas de los paquetes de este repositorio:

~$ wget -qO- https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -

Creamos el archivo de repositorio:

~$ sudo nano /etc/apt/sources.list.d/elasticsearch.list

El contenido será la siguiente línea:

deb https://artifacts.elastic.co/packages/7.x/apt stable main

Guardados los cambios y cerrado el archivo, actualizamos la información de los repositorios:

~$ sudo apt update

 

Cómo instalar Elasticsearch en Debian 10 Buster

Vamos a instalar Elasticsearch en Debian 10 Buster desde el nuevo repositorio oficial recién configurado, para lo que necesitaremos el paquete elasticsearch, que instalaremos con apt:

~$ sudo apt install -y elasticsearch

Tras la descarga e instalación de Elasticsearch se crea un nuevo servicio en Debian 10 Buster, el servicio elasticsearch.service o elasticsearch, que no queda en ejecución ni habilitado, siendo estas tareas que realizaremos manualmente.

Iniciamos el servicio manualmente:

~$ sudo systemctl start elasticsearch

El servicio puede tardar unos segundos en arrancar, así que tras liberarse la consola podremos comprobar su estado con el comando systemctl status elasticsearch:

como instalar elasticsearch en debian 10 buster

Con el servicio en ejecución, podemos habilitarlo para que Elasticsearch inicie automáticamente con cada arranque de Debian 10:

~$ sudo systemctl enable elasticsearch

Cómo probar Elasticsearch en Debian 10 Buster

Podemos comprobar localmente desde consola que el servicio Elasticsearch se encuentra listo con el comando wget:

~$ wget -qO- localhost:9200/
{
  "name" : "debian10",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "otHQUtPRQoW4cMm_eAlTEQ",
  "version" : {
    "number" : "7.8.0",
    "build_flavor" : "default",
    "build_type" : "deb",
    "build_hash" : "757314695644ea9a1dc2fecd26d1a43856725e65",
    "build_date" : "2020-06-14T19:35:50.234439Z",
    "build_snapshot" : false,
    "lucene_version" : "8.5.1",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

Podemos ver que el servicio funciona correctamente y nos da información básica sobre el mismo, incluyendo la versión actual instalada.

Cómo configurar Elasticsearch en Debian 10 Buster

Para configurar Elasticsearch en Debian 10 Buster trabajaremos sobre sus archivos de configuración, alojados en la ruta /etc/elasticsearch. Cualquier cambio que realicemos exigirá el reinicio del servicio (no existe la opción de recargar la configuración sin reiniciar):

~$ sudo systemctl restart elasticsearch

Acceso remoto a Elasticsearch en Debian 10 Buster

Por defecto el servicio Elasticsearch sólo atiende peticiones locales en el puerto 9200, pero podemos hacer que también responda a peticiones desde red editando el archivo elasticsearch.yml:

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

Buscaremos la directiva network.host:

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

La activaremos eliminando el carácter # inicial y le daremos un valor 0.0.0.0 para que escuche peticiones desde red:

...
network.host: 0.0.0.0
...

No basta con este cambio, ya que como Elasticsearch puede trabajar como servicio distribuido, con la configuración por defecto en Debian 10 tratará de descubrir otros nodos y el servicio fallará, dejando un error «the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured«:

the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured

En una instalación como la de este ejemplo con un sólo nodo habrá que indicar que no se intente descubrir otros nodos. Para ello buscamos la directiva discovery.seed_hosts:

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

Está desactivada, podemos modificarla o añadir una nueva con una lista formada tan sólo por la máquina local:

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

Algo similar podemos hacer con la directiva cluster.initial_master_nodes, aunque no es necesario:

...
#cluster.initial_master_nodes: ["node-1", "node-2"]
cluster.initial_master_nodes: []
...

Guardados los cambios será necesario reiniciar el servicio.

Cómo configurar el firewall de Debian 10 para Elasticsearch

Si tienes activado el firewall UFW en Debian 10 será necesario añadir una regla para permitir conexiones entrantes al servicio Elasticsearch, concretamente al puerto 9200:

~$ sudo ufw allow 9200/tcp

Probar el acceso remoto a Elasticsearch

Una vez configurados el acceso remoto a Elasticsearch y el firewall ya podemos comprobar que el servicio atiende conexiones desde red. La forma más sencilla es accediendo desde un navegador, especificando la dirección IP, nombre DNS o dominio del servidor Debian 10 añadiendo el puerto 9200.

Por ejemplo, el sevidor Debian 10 que hemos utilizado en este tutorial es accesible en el subdominio debian10.local.lan, por lo que podemos usar la URL http://debian10.local.lan:9200/ para realizar la prueba:

instalar y configurar elasticsearch en debian 10 buster

Deberíamos obtener el mismo resultado que en la prueba local desde consola.

¡Ya puedes empezar a trabajar con Elasticsearch!

Conclusión

Ahora que sabes cómo instalar Elasticsearch en Debian 10 Buster ya puedes trabajar con este potentísimo sistema de búsqueda y analítica sobre texto, imprescindible en muchos entornos de Big Data.

Si tienes dudas, preguntas, sugerencias de mejora o actualización de este artículo, quieres notificar un posible error, etc. puedes dejar un comentario.

Ah, y en caso de que te haya servido este tutorial de instalación y configuración de Elasticsearch en Debian 10 Buster y quieras expresar tu gratitud, puedes invitarme a un café:

 

O puedes dejarme 1 $ de propina a través de PayPal:

¡Gracias!

 

1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (1 votos, promedio: 5,00 de 5)
Cargando…

Deja una respuesta