Cómo instalar Elasticsearch en AlmaLinux 8

Elasticsearch es un código abierto altamente escalable motor de análisis y búsqueda de texto completo. Por lo general, es el motor o la tecnología subyacente el que impulsa las aplicaciones con características y requisitos de búsqueda complejos. El software admite operaciones RESTful que le permiten almacenar, buscar y analizar volúmenes importantes de datos de forma rápida y casi en tiempo real. Elasticsearch es muy querido y popular entre administradores de sistemas y desarrolladores, ya que es un poderoso motor de búsqueda basado en la biblioteca Lucene.

En el siguiente tutorial, aprenderá cómo instalar Elastic Search en AlmaLinux 8.

Requisitos previos

  • SO recomendado: Alma Linux 8.
  • Cuenta de usuario: Una cuenta de usuario con privilegios de sudo or acceso root (comando su).

Actualización del sistema operativo

Actualice su AlmaLinux sistema operativo para asegurarse de que todos los paquetes existentes estén actualizados:

sudo dnf upgrade --refresh -y

El tutorial utilizará el comando sudo y asumiendo que tienes el estado de sudo.

Anuncio

Para verificar el estado de sudo en su cuenta:

Anuncio
sudo whoami

Salida de ejemplo que muestra el estado de sudo:

[joshua@localhost ~]$ sudo whoami
root

Para configurar una cuenta sudo nueva o existente, visite nuestro tutorial en Cómo agregar un usuario a Sudoers en AlmaLinux.

Para utilizar el cuenta root, use el siguiente comando con la contraseña de root para iniciar sesión.

su

Instalar el paquete CURL

Los programas RIZO El comando es necesario para algunas partes de esta guía. Para instalar este paquete, escriba el siguiente comando:

Anuncio
sudo dnf install curl -y

Instalar paquete de Java

Para instalar con éxito y, lo que es más importante, utilizar Elasticsearch, necesitas instalar Java. El proceso es relativamente sencillo.

Escriba el siguiente comando para instalar el OpenJDK paquete:

Anuncio
sudo dnf install java-11-openjdk-devel

Dependencias de ejemplo que se instalarán:

Cómo instalar Elasticsearch en AlmaLinux 8

Tipo "Y", luego presione el "INTRODUCIR CLAVE" para continuar con la instalación.

Vea también  Cómo instalar SMPlayer en AlmaLinux 9

Confirme que Java se haya instalado correctamente con el siguiente comando:

Anuncio
java -version

Ejemplo de 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

Elasticsearch no está disponible en la flujo de la aplicación AlmaLinux 8 estándar, por lo que debe instalarlo desde el Repositorio Elasticsearch RPM.

Antes de agregar el repositorio, importe el Clave GPG con el siguiente comando:

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

El siguiente paso es crear un archivo de repositorio de Elasticsearch de la siguiente manera:

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

Una vez dentro del archivo, agregue las siguientes líneas:

Anuncio
[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

Para salvar (CTRL + O), luego salir (CTRL + X).

Ahora instale Elasticsearch usando el siguiente comando:

sudo dnf install elasticsearch

Ejemplo de salida:

Cómo instalar Elasticsearch en AlmaLinux 8

Tipo "Y", luego presione el "INTRODUCIR CLAVE" para continuar con la instalación

Anuncio

De forma predeterminada, el servicio Elasticsearch está deshabilitado en el arranque y no está activo. Para iniciar el servicio y habilitarlo en el inicio del sistema, escriba lo siguiente (sistemactl) mando:

Anuncio
sudo systemctl enable elasticsearch.service --now

Ejemplo de salida:

Executing: /usr/lib/systemd/systemd-sysv-install enable elasticsearch
Created symlink /etc/systemd/system/multi-user.target.wants/elasticsearch.service → /usr/lib/systemd/system/elasticsearch.service.

Verifique que Elasticsearch se esté ejecutando correctamente mediante el comando curl para enviar un Solicitud HTTP a puerto 9200 on localhost como sigue:

curl -X GET "localhost:9200/"

Ejemplo de salida:

Cómo instalar Elasticsearch en AlmaLinux 8

Para ver el mensaje del sistema que Elasticsearch registra en su sistema, escriba el siguiente comando:

sudo journalctl -u elasticsearch

Ejemplo de registro de salida:

Anuncio
Anuncio
-- Logs begin at Sat 2021-08-21 01:54:10 EDT, end at Sat 2021-08-21 02:11:00 EDT. --
Aug 21 02:09:17 localhost.localdomain systemd[1]: Starting Elasticsearch...
Aug 21 02:09:43 localhost.localdomain systemd[1]: Started Elasticsearch.

Cómo configurar Elasticsearch

Los datos de Elasticsearch se almacenan en la ubicación del directorio predeterminado (/ var / lib / elasticsearch). Para ver o editar los archivos de configuración, puede encontrarlos en la ubicación del directorio (/ etc / elasticsearch), y las opciones de inicio de Java se pueden configurar en el (/ etc / default / elasticsearch) archivo de configuración.

La configuración predeterminada es adecuada principalmente para servidores operativos únicos, ya que Elasticsearch se ejecuta en localhost solamente. Sin embargo, si va a configurar un clúster, deberá modificar el archivo de configuración para permitir conexiones remotas.

Vea también  Cómo instalar el navegador Tor en AlmaLinux 9

Configurar el acceso remoto (opcional)

De forma predeterminada, Elasticsearch solo escucha localhost. Para cambiar esto, abra el archivo de configuración de la siguiente manera:

sudo nano /etc/elasticsearch/elasticsearch.yml

Desplácese hacia abajo hasta línea 56 y busque la sección Red y descomentar (#) la siguiente línea y reemplácela con la dirección IP privada interna o la dirección IP externa de la siguiente manera:

Cómo instalar Elasticsearch en AlmaLinux 8

En el ejemplo, descomentamos (#) el (red.host) y lo cambió a una dirección IP privada interna como arriba.

Anuncio

Por motivos de seguridad, es ideal para especificar direcciones; sin embargo, si tiene varias direcciones IP internas o externas en el servidor, cambie la interfaz de red para escuchar todas al ingresar (0.0.0.0) como sigue:

Anuncio
Cómo instalar Elasticsearch en AlmaLinux 8

Guarde el archivo de configuración (CTRL + O), luego salir (CLTR + X).

Deberá reiniciar el servicio Elasticsearch con el siguiente comando para que los cambios surtan efecto:

sudo systemctl restart elasticsearch

Cómo utilizar Elasticsearch

Para usar Elasticsearch usando el comando de rizo es un proceso sencillo. A continuación se muestran algunos de los más utilizados:

Eliminar índice

Debajo del índice se nombra cualquier.

Anuncio
curl -X DELETE 'http://localhost:9200/samples'

Lista de todos los índices

curl -X GET 'http://localhost:9200/_cat/indices?v'

Lista de todos los documentos en el índice

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

Consulta utilizando parámetros de URL

Aquí usamos el formato de consulta de Lucene para escribir q = school: Harvard.

curl -X GET http://localhost:9200/samples/_search?q=school:Harvard

Consulta con JSON, también conocido como Elasticsearch Query DSL

Puede consultar utilizando parámetros en la URL. Pero también puede usar JSON, como se muestra en el siguiente ejemplo. JSON sería más fácil de leer y depurar cuando tiene una consulta compleja que una cadena gigante de parámetros de URL.

Anuncio
curl -XGET --header 'Content-Type: application/json' http://localhost:9200/samples/_search -d '{
      "query" : {
        "match" : { "school": "Harvard" }
    }
}'

Mapeo de índice de lista

Todos los campos de Elasticsearch son índices. Entonces, esto enumera todos los campos y sus tipos en un índice.

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

Agregar datos

curl -XPUT --header 'Content-Type: application/json' http://localhost:9200/samples/_doc/1 -d '{
   "school" : "Harvard"			
}'

Actualizar Doc

A continuación, se explica cómo agregar campos a un documento existente. Primero, creamos uno nuevo. Luego lo actualizamos.

curl -XPUT --header 'Content-Type: application/json' http://localhost:9200/samples/_doc/2 -d '
{
    "school": "Clemson"
}'

curl -XPOST --header 'Content-Type: application/json' http://localhost:9200/samples/_doc/2/_update -d '{
"doc" : {
               "students": 50000}
}'

Índice de respaldo

curl -XPOST --header 'Content-Type: application/json' http://localhost:9200/_reindex -d '{
  "source": {
    "index": "samples"
  },
  "dest": {
    "index": "samples_backup"
  }
}'

Carga masiva de datos en formato JSON

export pwd="elastic:"

curl --user $pwd  -H 'Content-Type: application/x-ndjson' -XPOST 'https://58571402f5464923883e7be42a037917.eu-central-1.aws.cloud.es.io:9243/0/_bulk?pretty' --data-binary @<file>

Mostrar el estado del clúster

curl --user $pwd  -H 'Content-Type: application/json' -XGET https://58571402f5464923883e7be42a037917.eu-central-1.aws.cloud.es.io:9243/_cluster/health?pretty

Agregación y agregación de depósitos

Para un servidor web Nginx, esto produce recuentos de visitas web por ciudad de usuario:

Anuncio
curl -XGET --user $pwd --header 'Content-Type: application/json'  https://58571402f5464923883e7be42a037917.eu-central-1.aws.cloud.es.io:9243/logstash/_search?pretty -d '{
        "aggs": {
             "cityName": {
                    "terms": {
                     "field": "geoip.city_name.keyword",
                                "size": 50

        }
   }
  }
}
'

Esto amplía el recuento de códigos de respuesta del producto de la ciudad en un registro del servidor web Nginx.

curl -XGET --user $pwd --header 'Content-Type: application/json'  https://58571402f5464923883e7be42a037917.eu-central-1.aws.cloud.es.io:9243/logstash/_search?pretty -d '{
        "aggs": {
          "city": {
                "terms": {
                        "field": "geoip.city_name.keyword"
                },
        "aggs": {
          "responses": {
                "terms": {
                     "field": "response"
                 }
           }
         }
      },
      "responses": {
                "terms": {
                     "field": "response"
                 }
        }
   }
}'

Uso de ElasticSearch con autenticación básica

Si ha activado la seguridad con ElasticSearch, debe proporcionar el usuario y la contraseña como se muestra a continuación para cada comando curl:

curl -X GET 'http://localhost:9200/_cat/indices?v' -u elastic:(password)

Bonita impresión

Agregue? Pretty = true a cualquier búsqueda para imprimir con estilo el JSON. Como esto:

Anuncio
 curl -X GET 'http://localhost:9200/(index)/_search'?pretty=true

Para consultar y devolver solo ciertos campos

Para devolver solo ciertos campos, colóquelos en la matriz _source:

GET filebeat-7.6.2-2020.05.05-000001/_search
 {
    "_source": ["suricata.eve.timestamp","source.geo.region_name","event.created"],
    "query":      {
        "match" : { "source.geo.country_iso_code": "GR" }
    }
}

Para consultar por fecha

Cuando el campo es de tipo fecha, puede usar matemáticas de fecha, como esta:

Anuncio
GET filebeat-7.6.2-2020.05.05-000001/_search
 {
    "query": {
        "range" : {
            "event.created": {
                "gte" : "now-7d/d"
            }
        }
}
}

Cómo quitar (desinstalar) Elasticsearch

Si ya no necesita Elasticsearch, puede eliminar el software con el siguiente comando:

sudo dnf autoremove elasticsearch

Ejemplo de salida:

Cómo instalar Elasticsearch en AlmaLinux 8

Tipo "Y", luego presione el "INTRODUCIR CLAVE" para continuar con la eliminación de Elasticsearch.

Vea también  Cómo instalar el navegador Tor en AlmaLinux 9

Comentarios y Conclusión

Ha aprendido a instalar Elasticsearch en AlmaLinux 8 desde el repositorio oficial de Elasticsearch y a configurar los conceptos básicos en el tutorial. En general, ElasticSearch tiene muchas características populares, algunas se mencionaron al comienzo del tutorial, pero otras incluyen permitir a los usuarios buscar en varios campos usando una sola consulta. ElasticSearch proporciona un nivel excepcional de fragmentación, lo que significa escalabilidad horizontal, lo que mejora el rendimiento incluso con un aumento de la carga.

Anuncio

Para obtener más información, visite el sitio oficial Página de documentación.

Anuncio


¿No es lo que estabas buscando? Intente buscar tutoriales adicionales.

Deja un comentario