Icono del sitio Binario 0

¿Qué es Elasticsearch?

Artículos Guías Manuales Sistemas Linux Windows Binario 0

Artículos Guías Manuales Sistemas Linux Windows Binario 0

FacebookEmailWhatsAppLinkedInRedditXShare

Elasticsearch es un motor de búsqueda y análisis de datos de código abierto, distribuido y basado en documentos. Está diseñado para ofrecer búsqueda en tiempo real y análisis de grandes volúmenes de datos. Utiliza una estructura distribuida, lo que permite escalar horizontalmente agregando más nodos a un clúster. Un clúster de Elasticsearch está compuesto por uno o más nodos, que trabajan juntos para almacenar y buscar datos de manera eficiente.

¿Qué es un clúster en Elasticsearch?

Un clúster en Elasticsearch es un conjunto de nodos (servidores) que trabajan juntos para almacenar y procesar datos. Cada clúster tiene un identificador único llamado "nombre de clúster" que lo distingue de otros clústeres. Los nodos en un clúster pueden ser nodos maestros, nodos de datos o nodos de cliente.

Instalación y configuración de un clúster de 3 nodos de Elasticsearch

1. Requisitos previos

2. Instalación de Elasticsearch

Puedes instalar Elasticsearch de varias maneras, como usando paquetes DEB/RPM, tarball o Docker. A continuación, te muestro cómo instalarlo usando paquetes DEB en Ubuntu/Debian.

  1. Descargar e instalar la clave pública PGP:

    wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
  2. Añadir el repositorio a la lista de fuentes:

    sudo sh -c 'echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" > /etc/apt/sources.list.d/elastic-7.x.list'
  3. Actualizar el índice de paquetes e instalar Elasticsearch:

    sudo apt-get update
    sudo apt-get install elasticsearch
  4. Iniciar y habilitar Elasticsearch para que se inicie al arrancar:

    sudo systemctl start elasticsearch
    sudo systemctl enable elasticsearch

Repite estos pasos en cada uno de los tres nodos.

3. Configuración del clúster

La configuración de Elasticsearch se encuentra en el archivo elasticsearch.yml, que está en /etc/elasticsearch/. Las siguientes configuraciones son las mínimas necesarias para configurar un clúster de 3 nodos.

  1. Configurar el nombre del clúster y del nodo: En cada nodo, edita el archivo elasticsearch.yml y establece:

    cluster.name: mi-cluster node.name: nodo-1 # Cambia esto a nodo-2 y nodo-3 en los otros nodos
  2. Configurar las direcciones de red:

    network.host: 0.0.0.0
  3. Configurar la lista de nodos maestros: Agrega la lista de nodos que pueden ser maestros en el clúster (en este caso, los tres nodos):

    discovery.seed_hosts: ["192.168.1.1", "192.168.1.2", "192.168.1.3"] cluster.initial_master_nodes: ["nodo-1", "nodo-2", "nodo-3"]
  4. Configurar el puerto de transporte: Elasticsearch usa un puerto de transporte para la comunicación interna entre nodos, que por defecto es el puerto 9300. Asegúrate de que este puerto esté abierto en los cortafuegos de tus servidores.
  5. Configurar la memoria y otros ajustes (opcional): Puedes ajustar la cantidad de memoria JVM que Elasticsearch utiliza modificando el archivo jvm.options en /etc/elasticsearch/.

4. Iniciar el clúster

Después de haber configurado los tres nodos, inícialos uno por uno:

sudo systemctl restart elasticsearch

Después de iniciar los tres nodos, el clúster debería formarse automáticamente. Puedes verificar el estado del clúster con la siguiente solicitud a través de curl:

curl -X GET "localhost:9200/_cluster/health?pretty"

Esto debería mostrar información sobre el clúster, incluidos los nodos disponibles, el estado general (verde, amarillo, rojo) y otros detalles.

Consideraciones adicionales

Con esto, habrás configurado un clúster de Elasticsearch de 3 nodos funcional y listo para usar.

Salir de la versión móvil