Elasticsearch-Cluster installieren (3+ Nodes, TLS, Kibana)
ElasticsearchStufe: MittelDauer: 60–90 Min.Baut einen Elasticsearch-8.x-/9.x-Cluster mit 3 oder mehr Nodes von Grund auf: Elastic-Repository, Heap passend zum RAM, Memory Lock, vm.max_map_count, automatische Sicherheitskonfiguration auf dem ersten Node (TLS + elastic-Passwort), Beitritt der übrigen Nodes per Enrollment-Token, kombinierte oder getrennte Master-/Data-Rollen, Kibana-Installation und -Enrollment, ein gemeinsames Snapshot-Repository und eine nächtliche SLM-Policy. Ergebnis ist ein Cluster im Status green, geschützt durch TLS und Passwörter, mit Kibana und einem Snapshot jede Nacht. Der laufende Betrieb des installierten Clusters (Shards, Disk, Nodes hinzufügen/entfernen), die Sicherheitshärtung, Snapshot/Restore und Versions-Upgrades werden in eigenen Elasticsearch-Guides behandelt.
Topologie: 3+ Elasticsearch-Nodes (+ optionaler Kibana-Server)
Vor dem Start
- Alle Server laufen mit derselben, unterstützten Betriebssystemversion und sind aktuell. Die Uhren sind synchronisiert (chrony): bei Zeitabweichung können TLS-Zertifikate und Tokens als ungültig gelten.
- Jeder Node hat … GB RAM (der Heap wird … MB) und mindestens 2 CPUs. Elasticsearch bringt sein eigenes JDK mit; installiere Java nicht separat.
- … hat genügend freien Platz (ist die Disk zu 85 % voll, werden dem Data-Node keine neuen Shards zugewiesen, ab 90 % beginnen Shards auf andere Nodes umzuziehen). SSD wird empfohlen.
- Hostnames und IPs sind statisch: ……=……, ………, …=……. Offen: 9300 (Transport) zwischen den Nodes, 9200 (HTTPS) von den Clients zu den Nodes…, 5601 von den Benutzern zu Kibana….
- Die Server erreichen artifacts.elastic.co über HTTPS (oder ein internes Mirror ist eingerichtet). Sobald das Repository hinzugefügt ist, listet der Befehl unten die installierbaren Versionen.
- Auf den Servern gibt es keine alte Elasticsearch-Installation und kein altes Datenverzeichnis (Daten eines alten Clusters verhindern, dass der Node dem neuen Cluster beitritt).
- … ist auf allen Master- und Data-Nodes von derselben NFS-Freigabe eingehängt (dauerhaft in fstab). Der Benutzer elasticsearch braucht Schreibrechte auf der Freigabe: ist seine UID nicht auf allen Nodes gleich, verwende auf NFS-Seite all_squash,anonuid=… oder gleiche die UIDs an.
- Root-/sudo-Rechte, ein Wartungsfenster und Server-Snapshots sind vorhanden. Enrollment-Tokens sind 30 Minuten gültig; führe die Schritte zum Beitritt der übrigen Nodes ohne Pause aus.
Phasen der Anleitung
- Betriebssystem vorbereiten — Hostname setzen · Hostname setzen (Kibana) · Namensauflösung konfigurieren (/etc/hosts) · Basiswerkzeuge installieren und Uhrzeit synchronisieren · Kernel-Parameter schreiben (vm.max_map_count) · sysctl-Einstellungen anwenden …
- Elastic-Repository und Softwareinstallation — Elastic-GPG-Schlüssel importieren · Elastic-Repository definieren · Elastic-Repository definieren · Installierbare Versionen auflisten · Elasticsearch installieren · Version sperren
- Heap, Speichersperre und Verzeichnisse — Heap-Größe einstellen · Dateibesitz setzen (heap.options) · Speichersperre in systemd erlauben · systemd neu laden · Datenverzeichnis vorbereiten · Rechte des Snapshot-Verzeichnisses setzen
- Erster Node: Cluster starten (Bootstrap) — elasticsearch.yml schreiben (Node 1) · Dateibesitz setzen (elasticsearch.yml) · Dienst starten (Node 1) · Passwort des Benutzers elastic setzen · Temporäre Zugangsdatei für den API-Zugriff anlegen · Cluster-Status prüfen (einzelner Node) …
- Cluster-Bildung abschließen — Prüfen, ob alle Nodes beigetreten sind · Zeile cluster.initial_master_nodes entfernen · Node 1 zum dedizierten Master umstellen: Shards abziehen · Rolle von Node 1 auf master setzen und Datenverzeichnis bereinigen · Temporäre Allocation-Regel entfernen
- Verifikation — Cluster-Zustand prüfen · Speichersperre und Heap prüfen · Master-Wahl und Voting-Konfiguration prüfen · Shard-Verteilung mit einem Testindex prüfen · Logdatei prüfen
- Kibana-Installation und Enrollment — Kibana installieren · Listen-Adresse einstellen · Kibana-Enrollment-Token erzeugen · Kibana mit dem Cluster verbinden (kibana-setup) · Kibana mit mehreren Nodes verbinden · Verschlüsselungsschlüssel erzeugen …
- Snapshot-Repository — Repository registrieren und prüfen · Nächtliche Snapshot-Policy definieren (SLM)
- Nach der Installation — Anwendungsbenutzer und -rolle anlegen · CA-Zertifikat für Clients bereitstellen · Checkliste für Monitoring und Backup umsetzen · Temporäre Zugangsdatei löschen