Cómo instalar y usar Elasticsearch en Ubuntu 20.04

Cómo instalar y usar Elasticsearch en Ubuntu 20.04

Elasticsearch es un motor de an√°lisis distribuido de c√≥digo abierto creado en Apache Lucene. Toma datos no estructurados de diferentes ubicaciones y los almacena de acuerdo con el mapeo especificado por el usuario y los indexa. Admite operaciones RESTful y le permite buscar y analizar grandes vol√ļmenes de datos en tiempo real.

En este tutorial, le mostraremos cómo instalar Elasticsearch en Ubuntu 20.04.

requisitos previos

  • Un servidor que ejecuta el servidor Ubuntu 20.04.
  • Una contrase√Īa de root est√° configurada en el servidor.

Empezando

Antes de comenzar, deber√° actualizar su sistema a la √ļltima versi√≥n. Puedes actualizarlo con el siguiente comando:

apt-get update -y

Una vez que su sistema esté actualizado, instale otros paquetes requeridos con el siguiente comando:

apt-get install curl gnupg2 apt-transport-https unzip -y

Una vez que todos los paquetes estén instalados, puede continuar con el siguiente paso.

Instalar Elasticsearch

De forma predeterminada, el paquete de Elasticsearch no est√° disponible en el repositorio predeterminado de Ubuntu. Por lo tanto, deber√° agregar el repositorio de Elasticsearch a su sistema. Primero, importe la clave GPG con el siguiente comando:

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

A continuación, agregue el repositorio de Elasticsearch con el siguiente comando:

sh -c 'echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" > /etc/apt/sources.list.d/elastic-7.x.list'

Una vez que se agrega el repositorio, actualice el caché del repositorio e instale Elasticsearch con el siguiente comando:

apt-get update -y
apt-get install elasticsearch -y

Una vez finalizada la instalación, inicie el servicio Elasticsearch y habilítelo para que se inicie al reiniciar el sistema:

systemctl start elasticsearch
systemctl enable elasticsearch

Ahora puede verificar el estado del servicio Elasticsearch con el siguiente comando:

systemctl status elasticsearch

Deberías obtener el siguiente resultado:

? elasticsearch.service - Elasticsearch
     Loaded: loaded (/lib/systemd/system/elasticsearch.service; disabled; vendor preset: enabled)
     Active: active (running) since Sat 2021-01-09 11:13:09 UTC; 5s ago
       Docs: https://www.elastic.co
   Main PID: 5110 (java)
      Tasks: 65 (limit: 2353)
     Memory: 1.2G
     CGroup: /system.slice/elasticsearch.service
             ??5110 /usr/share/elasticsearch/jdk/bin/java -Xshare:auto -Des.networkaddress.cache.ttl=60 -Des.networkaddress.cache.negative.ttl>
             ??5304 /usr/share/elasticsearch/modules/x-pack-ml/platform/linux-x86_64/bin/controller

Jan 09 11:12:50 ubuntu2004 systemd[1]: Starting Elasticsearch...
Jan 09 11:13:09 ubuntu2004 systemd[1]: Started Elasticsearch.

Verificar b√ļsqueda el√°stica

De manera predeterminada, Elasticsearch escucha en el puerto 9200. Puede verificarlo con el siguiente comando:

ss -antpl | grep 9200

Deberías obtener el siguiente resultado:

LISTEN   0        4096        [::ffff:127.0.0.1]:9200                  *:*       users:(("java",pid=5110,fd=257))                                               
LISTEN   0        4096                     [::1]:9200               [::]:*       users:(("java",pid=5110,fd=255))     

También puede verificar Elasticsearch usando el siguiente comando:

curl -X GET "localhost:9200/"

Debería obtener la siguiente respuesta:

{
  "name" : "ubuntu2004",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "mToloP2UQGilY7nUCeBnjg",
  "version" : {
    "number" : "7.10.1",
    "build_flavor" : "default",
    "build_type" : "deb",
    "build_hash" : "1c34507e66d7db1211f66f3513706fdf548736aa",
    "build_date" : "2020-12-05T01:00:33.671820Z",
    "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"
}

Configurar Elasticsearch

El archivo de configuraci√≥n principal de Elasticsearch se encuentra en /etc/elasticsearch/elasticsearch.yml. Puede configurar el nombre de su cl√ļster, el puerto y permitir la conexi√≥n remota editando este archivo.

Abra el archivo elasticsearch.yml en su editor nano:

nano /etc/elasticsearch/elasticsearch.yml

Cambia las siguientes líneas:

cluster.name: my-cluster
network.host: 172.16.0.10
discovery.seed_hosts: 172.16.0.10

Guarde y cierre el archivo, luego reinicie el servicio Elasticsearch para aplicar la configuración:

systemctl restart elasticsearch

En este punto, Elasticsearch está configurado para aceptar la conexión desde el host remoto. Ahora puede continuar con el siguiente paso.

Configurar el cortafuegos UFW

De forma predeterminada, UFW est√° instalado en Ubuntu 20.04. Si no est√° instalado, puede instalarlo con el siguiente comando:

apt-get install ufw -y

Una vez instalado el UFW, permita la conexión SSH y el puerto Elasticsearch para el host remoto (172.16.0.100) con el siguiente comando:

ufw allow ssh
ufw allow from 172.16.0.100 to any port 9200

Luego, habilite el firewall UFW con el siguiente comando:

ufw enable

A continuación, verifique el estado de las reglas del firewall de UFW con el siguiente comando:

ufw status

Debería obtener el siguiente resultado: Anuncio

Status: active

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW       Anywhere                  
9200                       ALLOW       172.16.0.100              
22/tcp (v6)                ALLOW       Anywhere (v6)             

Conclusión

¡Felicidades! Ha instalado Elasticsearch correctamente y lo ha configurado para una conexión remota en el servidor Ubuntu 20.04. Ahora puede integrar Elasticsearch con su aplicación. No dude en preguntarme si tiene alguna pregunta.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *