Instalación de un cluster de Elasticsearch (3+ nodos, TLS, Kibana)
ElasticsearchNivel: IntermedioDuración: 60–90 minCrea desde cero un cluster de Elasticsearch 8.x / 9.x de 3 o más nodos: repositorio de Elastic, heap según la RAM, bloqueo de memoria, vm.max_map_count, seguridad automática en el primer nodo (TLS + contraseña de elastic), incorporación de los demás nodos con un enrollment token, roles master/data combinados o separados, instalación y enrollment de Kibana, un repositorio de snapshots compartido y una política SLM nocturna. El resultado es un cluster en estado green, protegido con TLS y contraseña, con Kibana y un snapshot cada noche. La operación diaria del cluster instalado (shards, disco, añadir/retirar nodos), el endurecimiento de la seguridad, snapshot/restore y la actualización de versión se tratan en guías de Elasticsearch independientes.
Topología: 3+ nodos de Elasticsearch (+ servidor de Kibana opcional)
Antes de empezar
- Todos los servidores tienen la misma versión de sistema operativo, soportada y actualizada. Relojes sincronizados (chrony): con desfase horario, los certificados TLS y los tokens pueden considerarse no válidos.
- Cada nodo tiene … GB de RAM (el heap será de … MB) y al menos 2 CPU. Elasticsearch incluye su propio JDK; no instale Java por separado.
- … tiene espacio libre suficiente (con el disco al 85 % no se asignan shards nuevos al nodo data; al 90 % los shards empiezan a moverse a otros nodos). Se recomienda SSD.
- Hostnames e IP fijos: ……=……, ………, …=……. Abiertos: 9300 (transport) entre los nodos, 9200 (HTTPS) desde los clientes a los nodos…, 5601 desde los usuarios a Kibana….
- Los servidores pueden salir por HTTPS a artifacts.elastic.co (o hay un mirror interno configurado). Una vez añadido el repositorio, el comando siguiente lista las versiones instalables.
- En los servidores no hay una instalación antigua de Elasticsearch ni un directorio de datos (los datos de un cluster antiguo impiden que el nodo se una al cluster nuevo).
- … está montado desde el mismo recurso NFS en todos los nodos master y data (persistente en fstab). El usuario elasticsearch debe tener permiso de escritura en el recurso: si su UID no es el mismo en todos los nodos, use all_squash,anonuid=… en el lado NFS o iguale los UID.
- Acceso root/sudo, ventana de mantenimiento y snapshot de los servidores preparados. Los enrollment tokens son válidos durante 30 minutos; ejecute sin pausas los pasos que incorporan los demás nodos.
Fases de la guía
- Preparación del sistema operativo — Configurar el hostname · Configurar el hostname (Kibana) · Configurar la resolución de nombres (/etc/hosts) · Instalar herramientas básicas y sincronizar el reloj · Escribir los parámetros del kernel (vm.max_map_count) · Aplicar los parámetros sysctl …
- Repositorio de Elastic e instalación del software — Importar la clave GPG de Elastic · Definir el repositorio de Elastic · Definir el repositorio de Elastic · Listar las versiones instalables · Instalar Elasticsearch · Bloquear la versión
- Heap, bloqueo de memoria y directorios — Configurar el tamaño del heap · Configurar la propiedad del archivo (heap.options) · Permitir el bloqueo de memoria en systemd · Recargar systemd · Preparar el directorio de datos · Configurar los permisos del directorio de snapshots
- Primer nodo: arrancar el cluster — Escribir elasticsearch.yml (nodo 1) · Configurar la propiedad del archivo (elasticsearch.yml) · Iniciar el servicio (nodo 1) · Definir la contraseña del usuario elastic · Crear un archivo temporal de credenciales para el acceso a la API · Comprobar el estado del cluster (un solo nodo) …
- Completar la formación del cluster — Verificar que todos los nodos se han unido · Eliminar la línea cluster.initial_master_nodes · Convertir el nodo 1 en master dedicado: vaciar sus shards · Poner el rol del nodo 1 en master y limpiar su directorio de datos · Eliminar la regla de allocation temporal
- Verificación — Comprobar la salud del cluster · Comprobar el bloqueo de memoria y el heap · Comprobar la elección del master y la configuración de votación · Comprobar la distribución de shards con un índice de prueba · Revisar el archivo de log
- Instalación y enrollment de Kibana — Instalar Kibana · Configurar la dirección de escucha · Crear un enrollment token de Kibana · Conectar Kibana al cluster (kibana-setup) · Conectar Kibana a varios nodos · Generar las claves de cifrado …
- Repositorio de snapshots — Registrar y verificar el repositorio · Definir la política de snapshots nocturna (SLM)
- Después de la instalación — Crear el usuario y el rol de la aplicación · Preparar el certificado de la CA para los clientes · Aplicar la lista de control de monitorización y copias de seguridad · Borrar el archivo temporal de credenciales