Instalar y configurar Elasticsearch en Rocky Linux 8

Elasticsearch es un motor de análisis gratuito y de código abierto utilizado para almacenar, buscar y analizar grandes volúmenes de datos en tiempo real. Está escrito en Java y se basa en Apache Lucene. Es conocido por su velocidad, escalabilidad y potente conjunto de funciones. Puedes utilizarlo para controlar el rendimiento de las aplicaciones, el registro y el análisis de registros.

En este tutorial, te mostraremos cómo instalar ElasticSearch en Rocky Linux 8.

Requisitos previos

  • Un servidor que ejecute RockyLinux 8.
  • Una contraseña de root configurada en el servidor.

Instalar Java

ElasticSearch se basa en Java. Así que Java debe estar instalado en tu servidor. Puedes instalarlo utilizando el siguiente comando:

dnf install java-11-openjdk-devel -y

Una vez instalado Java, verifica la instalación de Java utilizando el siguiente comando:

java -version

Deberías ver la siguiente salida:

openjdk version "11.0.12" 2021-07-20 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.12+7-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.12+7-LTS, mixed mode, sharing)

Instalar ElasticSearch

Por defecto, ElasticSearch no está incluido en Rocky Linux 8. Así que tendrás que crear un repo de ElasticSearch.

Primero, importa la clave GPG de ElasticSearch con el siguiente comando:

rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

A continuación, crea un repo de ElasticSearch con el siguiente comando:

nano /etc/yum.repos.d/elasticsearch.repo

Añade las siguientes líneas:

[elasticsearch-7.x]
name=Elasticsearch repository for 7.x packages
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

Guarda y cierra el archivo y luego instala el paquete de ElasticSearch con el siguiente comando

dnf install elasticsearch -y

Una vez instalado ElasticSearch, puedes pasar al siguiente paso.

Configurar ElasticSearch

Por defecto, el archivo de configuración principal de ElasticSearch se encuentra en /etc/elasticsearch/elasticsearch.yml. Puedes editarlo con el siguiente comando:

nano /etc/elasticsearch/elasticsearch.yml

Define el nombre de tu nodo, el nombre del clúster, la ruta de datos y el host de red como se muestra a continuación:

cluster.name: Elastic Cluster
     node.name: rockylinux
     path.data: /var/lib/elasticsearch
     network.host: 127.0.0.1

Guarda y cierra el archivo y, a continuación, inicia el servicio ElasticSearch y haz que se inicie al reiniciar el sistema:

systemctl start elasticsearch
systemctl enable elasticsearch

Puedes verificar el estado de ElasticSearch con el siguiente comando:

systemctl status elasticsearch

Deberías ver la siguiente salida:

? elasticsearch.service - Elasticsearch
   Loaded: loaded (/usr/lib/systemd/system/elasticsearch.service; disabled; vendor preset: disabled)
   Active: active (running) since Mon 2021-08-09 04:34:34 UTC; 8s ago
     Docs: https://www.elastic.co
 Main PID: 5247 (java)
    Tasks: 62 (limit: 11411)
   Memory: 1.1G
   CGroup: /system.slice/elasticsearch.service
           ??5247 /usr/share/elasticsearch/jdk/bin/java -Xshare:auto -Des.networkaddress.cache.ttl=60 -Des.networkaddress.cache.negative.ttl=1>
           ??5412 /usr/share/elasticsearch/modules/x-pack-ml/platform/linux-x86_64/bin/controller

Aug 09 04:33:29 RockyLinux8 systemd[1]: Starting Elasticsearch...
Aug 09 04:34:34 RockyLinux8 systemd[1]: Started Elasticsearch.

Verificar ElasticSearch

En este punto, ElasticSearch está iniciado y escuchando en el puerto 9200. Puedes comprobarlo con el siguiente comando:

ss -antpl | grep 9200

Deberías ver la siguiente salida:

LISTEN 0      128    [::ffff:127.0.0.1]:9200            *:*    users:(("java",pid=5247,fd=283))

También puedes verificar el ElasticSearch con el siguiente comando:

curl -X GET 'http://localhost:9200'

Deberías obtener la siguiente salida:

{
  "name" : "rockylinux",
  "cluster_name" : "Elastic Cluster",
  "cluster_uuid" : "NuDPakHARaOJOMyi6ABQwA",
  "version" : {
    "number" : "7.14.0",
    "build_flavor" : "default",
    "build_type" : "rpm",
    "build_hash" : "dd5a0a2acaa2045ff9624f3729fc8a6f40835aa1",
    "build_date" : "2021-07-29T20:49:32.864135063Z",
    "build_snapshot" : false,
    "lucene_version" : "8.9.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

Cómo utilizar ElasticSearch

Puedes utilizar el comando Curl para añadir datos al ElasticSearch como se muestra a continuación:

curl -H 'Content-Type: application/json' -X POST 'http://localhost:9200/tutorial/blog/1' -d '{ "message": "My first blog!" }'

Deberías ver la siguiente salida:

{"_index":"tutorial","_type":"blog","_id":"1","_version":1,"result":"created","_shards":{"total":2,"successful":1,"failed":0},"_seq_no":0,"_primary_term":1}

Ahora puedes recuperar tus datos utilizando la petición GET:

curl -X GET 'http://localhost:9200/tutorial/blog/1'

Deberías ver la siguiente salida:

{"_index":"tutorial","_type":"blog","_id":"1","_version":1,"_seq_no":0,"_primary_term":1,"found":true,"_source":{ "message": "My first blog!" }}

Para recuperar los datos en formato legible por humanos, ejecuta el siguiente comando:

curl -X GET 'http://localhost:9200/tutorial/blog/1?pretty'

Deberías obtener la siguiente salida:

{
  "_index" : "tutorial",
  "_type" : "blog",
  "_id" : "1",
  "_version" : 1,
  "_seq_no" : 0,
  "_primary_term" : 1,
  "found" : true,
  "_source" : {
    "message" : "My first blog!"
  }
}

Conclusión

En la guía anterior, has aprendido a instalar y utilizar ElasticSearch en Rocky Linux 8. Ahora puedes añadir, leer, eliminar y actualizar datos fácilmente en Elasticsearch.

También te podría gustar...