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.