Cómo instalar Elasticsearch en Ubuntu 20.04 LTS

En este artículo veremos cómo instalar Elasticsearch en Ubuntu 20.04 LTS Focal Fossa paso a paso, de manera que podrás trabajar con este motor de búsqueda y analítica en entornos de Big Data sobre tu servidor o VPS Ubuntu.

Antes de instalar Elasticsearch en Ubuntu 20.04 LTS

Si vas a seguir los pasos de esta guía de instalación de Elasticsearch en Ubuntu 20.04 LTS Focal Fossa es importante partir del siguiente escenario:

  • Una máquina Ubuntu 20.04 LTS Focal Fossa actualizada.
  • Un usuario con permisos de sudo.
  • Acceso a Internet.

Cómo configurar el repositorio oficial de Elasticsearch para Ubuntu 20.04 LTS

Vamos a configurar el repositorio oficial de Elasticsearch para Ubuntu 20.04 LTS, de modo que podamos instalar la última versión disponible.

Instalaremos la clave pública del certificado que se usa para firmar los paquetes del repositorio de Elasticsearch:

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

Creamos un archivo independiente para la configuración del repositorio:

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

El contenido de este archivo será una única fuente de paquetes:

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

Guardamos los cambios, cerramos el archivo y actualizamos las listas de paquetes, para que se tengan en cuenta los que ofrece el repositorio de Elasticsearch:

~$ sudo apt update

Cómo instalar Elasticsearch en Ubuntu 20.04 LTS

Vamos a instalar Elasticsearch en Ubuntu 20.04 LTS desde el repositorio que acabamos de configurar, para lo que obtendremos el paquete elasticsearch con apt:

~$ sudo apt install -y elasticsearch

Este paquete tiene un tamaño que supera los 300 MB, por lo que puede tardar unos minutos en descargarse e instalarse en Ubuntu 20.04. Una vez terminada la instalación de Elasticsearch se crea un nuevo servicio en Ubuntu 20.04 LTS, el servicio elasticasearch o elasticsearch.service, servicio que no queda iniciado ni habilitado para su arranque automático.

Si disponemos de más de 1 GB de memoria RAM libre, podríamos iniciar Elasticsearch por primera vez en Ubuntu 20.04 con el comando systemctl:

~$ sudo systemctl start elasticsearch

En caso de no disponer de esa cantidad de RAM libre, veremos cómo solucionarlo en la sección de configuración.

El proceso de inicio puede tomar unos instantes, dependiendo de la potencia de la máquina Ubuntu 20.04, hasta que queda en ejecución y el comando anterior libera la consola.

Podemos comprobar el estado del servicio con el comando systemctl status elasticsearch:

como instalar elasticsearch en ubuntu 20.04 lts focal fossa

Para obtener más información del estado o posibles problemas con Elasticsearch en Ubuntu 20.04 tambén podemos utilizar el comando journalctl en consola:

~$ sudo journalctl -u elasticsearch
...
... systemd[1]: Starting Elasticsearch...
... systemd[1]: Started Elasticsearch.

Si queremos que Elasticsearch esté disponible cada vez que inicia Ubuntu 20.04, podemos habilitar el servicio:

~$ sudo systemctl enable elasticsearch

Cómo configurar Elasticsearch en Ubuntu 20.04 LTS

Para configurar Elasticsearch en Ubuntu 20.04 LTS es importante saber que sus archivos de configuración se encuentran organizados bajo la ruta /etc/elasticsearch/, siendo elasticsearch.yml el más importante.

Otro archivo importante es jvm.options donde podremos establecer, por ejemplo el tamaño de memoria empleado por el servicio. Si queremos modificar dicho tamaño, debemos editar jvm.options:

~$ sudo nano /etc/elasticsearch/jvm.options

Buscaremos las directivas Xms y Xmx:

...
# Xms represents the initial size of total heap space
# Xmx represents the maximum size of total heap space

-Xms1g
-Xmx1g
...

En este caso el tamaño mínimo inicial está fijado en 1 GB por defecto, el mismo valor que el tamaño máximo. Para cambiar a un tamaño menor, por ejemplo, podríamos utilizar Xms512m y Xmx512m:

...
-Xms512m
-Xmx512m
...

Si quisiéramos aumentar el valor por defecto, por ejemplo a 2 GB, haremos los cambios de forma similar:

...
-Xms2g
-Xmx2g
...

En cualquier caso guardaremos los cambios y reiniciaremos el servicio para aplicar la nueva configuración:

~$ sudo systemctl restart elasticsearch

Acceso remoto

Por defecto Elasticsearch sólo permite conexiones locales en Ubuntu 20.04. Si deseamos trabajar en red con este servicio será necesario realizar algunos ajustes en el archivo principal de configuración, elasticsearch.yml:

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

Buscamos la directiva network.host:

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

La activamos eliminando el carácter # al inicio de línea y le damos el valor 0.0.0.0:

...
network.host: 0.0.0.0
...

Como Elasticsearch es un servicio preparado para trabajar de forma distribuida en nodos integrando un cluster, será necesario configurar la directiva discovery.seed_hosts para que no busque otros servidores a los que conectar:

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

Activamos también esta directiva y le configuramos el único servidor disponible en este momento:

...
discovery.seed_hosts: ["localhost"]
...

Guardamos los cambios y reiniciamos el servicio:

~$ sudo systemctl restart elasticsearch

Desde este momento Elasticsearch aceptará conexiones provinientes de la red.

Cómo configurar el firewall de Ubuntu 20.04 para Elasticsearch

Si tienes activado el firewall UFW en Ubuntu 20.04 y deseas utilizar Elasticsearch de forma remota, será necesario añadir una regla que abra el puerto 9200 TCP:

~$ sudo ufw allow 9200/tcp

Probando Elasticsearch en Ubuntu 20.04 LTS

Para hacer una simple prueba de funcionamiento de Elasticsearch en Ubuntu 20.04 LTS desde consola, podemos usar alguna herramienta como wget y conectar localmente:

~$ wget -qO- localhost:9200
{
  "name" : "ubuntu2004",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "JW22nZXuQXKlClPK_H81jg",
  "version" : {
    "number" : "7.11.0",
    "build_flavor" : "default",
    "build_type" : "deb",
    "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 ubuntu 20.04 lts

Probando Elasticsearch en red

Para comprobar que Elasticsearch acepta conexiones en red podemos hacer la prueba desde un navegador de otro sistema, usando como URL la dirección IP, dominio o nombre DNS del servidor Ubuntu 20.04 y añadiendo el puerto TCP 9200:

elasticsearch en ubuntu 20.04 lts

Obtendremos un resultado similar al de la prueba realizada desde consola.

Conclusión

Ahora que sabes cómo instalar Elasticsearch en Ubuntu 20.04 LTS Focal Fossa ya puedes trabajar y experimentar con este motor de búsqueda y análisis para Big Data que tan popular se está volviendo.

¡Apoya comoinstalar.me!

¿Ya funciona este motor de búsqueda en tu propia máquina? En tal caso, si quisieras agradecérnoslo ayudando al mantenimiento de este sitio y la creación de nuevas guías y tutoriales, podrías hacerlo dejando tan sólo 1 $ de propina desde PayPal:

O, si te sientes agradecido especialmente, invitándonos a un café:

¡Gracias!

Valora esta entrada

5/5 - (1 voto)

Deja un comentario