Elasticsearch es un motor de análisis gratuito y de código abierto que se utiliza para almacenar, buscar y analizar grandes volúmenes de datos en tiempo real. Está escrito en Java y basado en Apache Lucene. Es conocido por su velocidad, escalabilidad y potente conjunto de funciones. Puede usarlo para monitorear el rendimiento de la aplicación, el registro y el análisis de registros.
En este tutorial, le mostraremos cómo instalar ElasticSearch en Rocky Linux 8.
Requisitos
- Un servidor que ejecuta RockyLinux 8.
- Se configura una contraseña raíz en el servidor.
Instalar Java
ElasticSearch está basado en Java. Entonces Java debe estar instalado en su servidor. Puedes instalarlo usando el siguiente comando:
dnf install java-11-openjdk-devel -y
Una vez que Java esté instalado, verifique la instalación de Java usando el siguiente comando:
java -version
Debería ver el siguiente resultado:
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
De forma predeterminada, ElasticSearch no está incluido en Rocky Linux 8. Por lo tanto, deberá crear un repositorio de ElasticSearch.
Primero, importe la clave GPG de ElasticSearch con el siguiente comando:
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
A continuación, cree un repositorio de ElasticSearch con el siguiente comando:
nano /etc/yum.repos.d/elasticsearch.repo
Agregue 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
Guarde y cierre el archivo, luego instale el paquete ElasticSearch con el siguiente comando:
dnf install elasticsearch -y
Una vez instalado ElasticSearch, puede continuar con el siguiente paso.
Configurar ElasticSearch
De forma predeterminada, 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
Defina su nombre de nodo, nombre de clúster, ruta de datos y 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
Guarde y cierre el archivo, luego inicie el servicio ElasticSearch y habilítelo para que se inicie al reiniciar el sistema:
systemctl start elasticsearch
systemctl enable elasticsearch
Puede verificar el estado de ElasticSearch con el siguiente comando:
systemctl status elasticsearch
Debería ver el siguiente resultado:
? 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 se inicia y escucha en el puerto 9200. Puede verificarlo con el siguiente comando:
ss -antpl | grep 9200
Debería ver el siguiente resultado:
LISTEN 0 128 [::ffff:127.0.0.1]:9200 *:* users:(("java",pid=5247,fd=283))
También puede verificar ElasticSearch con el siguiente comando:
curl -X GET 'http://localhost:9200'
Deberías obtener el siguiente resultado:
{ "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 usar ElasticSearch
Puede usar el comando Curl para agregar datos a 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ía ver el siguiente resultado:
{"_index":"tutorial","_type":"blog","_id":"1","_version":1,"result":"created","_shards":{"total":2,"successful":1,"failed":0},"_seq_no":0,"_primary_term":1}
Ahora puede recuperar sus datos mediante la solicitud GET:
curl -X GET 'http://localhost:9200/tutorial/blog/1'
Debería ver el siguiente resultado:
{"_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, ejecute el siguiente comando:
curl -X GET 'http://localhost:9200/tutorial/blog/1?pretty'
Deberías obtener el siguiente resultado:
{ "_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, aprendió cómo instalar y usar ElasticSearch en Rocky Linux 8. Ahora puede agregar, leer, eliminar y actualizar datos fácilmente en Elasticsearch.