Elasticsearch es un motor de análisis y búsqueda distribuido basado en Apache Lucene. Proporciona un motor de búsqueda de texto completo distribuido y con capacidad para múltiples inquilinos con una interfaz web HTTP y documentos JSON sin esquema. Elasticsearch se ha convertido rápidamente en el motor de búsqueda más popular y se usa comúnmente para análisis de registros, búsqueda de texto completo, inteligencia de seguridad, análisis de negocios e inteligencia operativa.
Contenido relacionado
- Cómo instalar y configurar Elasticsearch en Ubuntu 20.04
- Cómo instalar y configurar Elasticsearch en Debian 11
- Uso de Ansible para instalar y configurar Elasticsearch en Ubuntu 20.04
Requisitos
Para seguir, asegúrese de tener:
- Un servidor Rock Linux8 actualizado con al menos 2 GB de RAM y 2 núcleos
- Acceso raíz al servidor o usuario con acceso sudo
- Acceso a Internet desde el servidor
Tabla de contenido
- Asegúrese de que el servidor esté actualizado
- Instalación de Java en el servidor
- Importar la clave gpg de elasticsearch
- Instalar Elasticsearch desde RPM Repo
- Inicie y habilite el servicio Elasticsearch
- Verificar la instalación de Elasticsearch
- Realizar operaciones simples con Elasticsearch
1. Asegurarse de que el servidor esté actualizado
Antes de continuar, asegurémonos de que nuestro servidor esté actualizado y que todos los paquetes tengan la última versión. Use estos comandos para lograr esto:
sudo dnf -y update
Si hay paquetes para actualizar, el comando anterior puede tardar un par de minutos.
2. Instalar Java en el servidor
Elasticsearch depende de Java para ejecutarse. Instale el tiempo de ejecución de Java 11
sudo dnf install java-11-openjdk
Verifique la versión instalada.
$ java -version
openjdk version "11.0.13" 2021-10-19 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.13+8-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.13+8-LTS, mixed mode, sharing)
3. Importar la clave GPG de Elasticsearch
Elasticsearch firma todos nuestros paquetes con la clave de firma de Elasticsearch (clave PGP D88E42B4, disponible en https://pgp.mit.edu) con la huella digital:
4609 5ACC 8548 582C 1A26 99A9 D27D 666C D88E 42B4
Descargue e instale la clave de firma pública:
sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
4. Instale Elasticsearch desde el repositorio de RPM
Cree un archivo llamado elasticsearch.repo
en el /etc/yum.repos.d/
. Utilice su editor de texto para abrir el archivo:
sudo vim /etc/yum.repos.d/elasticsearch.repo
Luego agregue el siguiente contenido:
[elasticsearch] 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=0 autorefresh=1 type=rpm-md
Y su repositorio está listo para usar. Ahora puede instalar Elasticsearch.
Use este comando para instalar elasticsearch
sudo dnf install --enablerepo=elasticsearch -y elasticsearch
Confirmar
$ rpm -qi elasticsearch
Name : elasticsearch
Epoch : 0
Version : 7.16.3
Release : 1
Architecture: x86_64
Install Date: Fri 14 Jan 2022 09:21:53 AM UTC
Group : Application/Internet
Size : 517226057
License : Elastic License
Signature : RSA/SHA512, Fri 07 Jan 2022 02:57:25 AM UTC, Key ID d27d666cd88e42b4
Source RPM : elasticsearch-7.16.3-1-src.rpm
Build Date : Thu 06 Jan 2022 11:49:11 PM UTC
Build Host : packer-virtualbox-iso-1636998457
Relocations : /usr
Packager : Elasticsearch
Vendor : Elasticsearch
URL : https://www.elastic.co/
Summary : Distributed RESTful search engine built for the cloud
Description :
Reference documentation can be found at
https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html
and the 'Elasticsearch: The Definitive Guide' book can be found at
https://www.elastic.co/guide/en/elasticsearch/guide/current/index.html
5. Inicie y habilite el servicio Elasticsearch
El servicio de Elasticsearch no se iniciará de forma predeterminada. Usa este comando para comenzar:
sudo systemctl start elasticsearch
Confirme el estado del servicio usando este comando:
$ sudo systemctl status elasticsearch
● elasticsearch.service - Elasticsearch
Loaded: loaded (/usr/lib/systemd/system/elasticsearch.service; disabled; vendor preset: disabled)
Active: active (running) since Fri 2022-01-14 09:22:41 UTC; 16min ago
Docs: https://www.elastic.co
Main PID: 68286 (java)
Tasks: 64 (limit: 23176)
Memory: 2.2G
CGroup: /system.slice/elasticsearch.service
├─68286 /usr/share/elasticsearch/jdk/bin/java -Xshare:auto -Des.networkaddress.cache.ttl=60 -Des.networkaddress.cache.negative.ttl=10 -XX:+AlwaysPreTouch -Xss1m -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djna.nosys=tr>
└─68485 /usr/share/elasticsearch/modules/x-pack-ml/platform/linux-x86_64/bin/controller
Jan 14 09:22:18 dev-rockysrv.inv.re systemd[1]: Starting Elasticsearch...
Jan 14 09:22:41 dev-rockysrv.inv.re systemd[1]: Started Elasticsearch.
El resultado anterior muestra que el servicio está en funcionamiento. Habilite el servicio usando este comando:
sudo systemctl enable elasticsearch
Si Elasticsearch no se inicia por algún motivo, imprimirá el motivo del error en STDOUT. Los archivos de registro se pueden encontrar en /var/log/elasticsearch/
.
De forma predeterminada, el servicio Elasticsearch no registra información en systemd
diario. Para habilitar journalctl
registro, el --quiet
la opción debe eliminarse de ExecStart
línea de comando en elasticsearch.service
archivo.
Cuando systemd
el registro está habilitado, la información de registro está disponible mediante journalctl
comandos:
Para seguir el diario:
sudo journalctl -f
Para enumerar entradas de diario para el servicio de búsqueda elástica:
sudo journalctl --unit elasticsearch
Para enumerar las entradas del diario para el servicio de búsqueda elástica a partir de un momento determinado:
sudo journalctl --unit elasticsearch --since "2016-10-30 18:17:16"
6. Verificar la instalación de 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:
$ ss -antpl | grep 9200 LISTEN 0 128 [::ffff:127.0.0.1]:9200 *:* LISTEN 0 128 [::1]:9200 [::]:*
también puede verificar ElasticSearch con el siguiente comando.
curl -X GET "localhost:9200/"
salida:
$ curl -X GET "localhost:9200/"
{
"name" : "dev-rockysrv.inv.re",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "td67jm-zSvKlKsnP4sIrxw",
"version" : {
"number" : "7.16.3",
"build_flavor" : "default",
"build_type" : "rpm",
"build_hash" : "4e6e4eab2297e949ec994e688dad46290d018022",
"build_date" : "2022-01-06T23:43:02.825887787Z",
"build_snapshot" : false,
"lucene_version" : "8.10.1",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
7. Realización de operaciones sencillas con 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/todo/task/1' -d '{ "name": "Go to the mall." }'
Debería ver el siguiente resultado:
{"_index":"todo","_type":"task","_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/todo/task/1'
Debería ver el siguiente resultado:
{"_index":"todo","_type":"task","_id":"1","_version":1,"_seq_no":0,"_primary_term":1,"found":true,"_source":{ "name": "Go to the mall." }}
Para recuperar los datos en formato legible por humanos, ejecute el siguiente comando:
curl -X GET 'http://localhost:9200/todo/task/1?pretty'
Deberías obtener el siguiente resultado:
{ "_index" : "todo", "_type" : "task", "_id" : "1", "_version" : 1, "_seq_no" : 0, "_primary_term" : 1, "found" : true, "_source" : { "name" : "Go to the mall." } }
Conclusión
Eso es todo. En esta guía, aprendimos cómo instalar y usar ElasticSearch en el servidor Rocky Linux 8. Ahora puede agregar, leer, eliminar y actualizar datos fácilmente en Elasticsearch.