- Erste Schritte
- Anforderungen
- Best Practices
- Installation
- Wird aktualisiert
- Identity Server
- Fehlerbehebung bei Startfehlern
Migrieren von Elasticsearch-Indizes
Mit Hilfe der Snapshot- und Wiederherstellungsfunktionen von Elasticsearch können Sie ein Backup-Repository aller Indizes erstellen, das dann bei Bedarf zur Wiederherstellung Ihres aktuellen Servers oder zum Umzug auf einen neuen Server verwendet werden kann. Dies ist nützlich, um einen nahtlosen Übergang im Falle eines Hardwarefehlers oder wenn ein Upgrade erforderlich ist, zu ermöglichen.
In diesem Abschnitt durchlaufen wir das Migrationsverfahren auf einer Windows-Servermaschine. Weitere Informationen zu Snapshots und die vollständige Liste der verfügbaren Einstellungen und Befehle für alle unterstützten Elasticsearch-Versionen finden Sie in der offiziellen Elastic-Dokumentation.
Es ist notwendig, ein gemeinsames Dateisystem zwischen dem aktuellen und dem neuen Server zu haben. In diesem Beispiel haben wir einen freigegebenen Ordner verwendet, der auf dem neuen Server erstellt wurde.
Stellen Sie sicher, dass das Konto, das auf jedem Server verwendet wird, Lese- und Schreibzugriff auf dieses freigegebene Verzeichnis hat.
Außerdem werden alle zuvor eingerichteten Kibana-Visualisierungen nicht gespeichert und müssen neu erstellt werden.
Führen Sie auf Ihrem aktuellen Server die folgenden Schritte aus:
- Beenden Sie den Elasticsearch-Dienst.
- Fügen Sie das freigegebene Verzeichnis in der Datei
elasticsearch.yml
Datei hinzu:path.repo: [“\\\\server_name\\folder_name”]
. - Starten Sie den Elasticsearch-Dienst neu.
- Klicken Sie im Kibana-Dashboard im Abschnitt Dev Tools auf Konsole. Das Fenster Konsole wird geöffnet.
-
Erstellen Sie das Repository, und geben Sie ihm einen aussagekräftigen Namen:
PUT /_snapshot/backup_old/ { “type”: “fs”, “settings”:{ “location”: “\\server_name\\folder_name” } }
PUT /_snapshot/backup_old/ { “type”: “fs”, “settings”:{ “location”: “\\server_name\\folder_name” } } - Bei Erfolg lautet die Konsolenantwort:
“acknowledged”: true
. -
Erstellen Sie den Snapshot, und geben Sie ihm einen aussagekräftigen Namen:
PUT /_snapshot/backup_old/snapshot_1?wait_for_completion=true
.Hinweis: Der Parameter?wait_for_completion
bestimmt, ob die Anforderung zurückgegeben wird, wenn der Snapshot abgeschlossen ist (true
) oder wenn er initialisiert wird (false
). Bei großen Repositorys kann die Rückgabe dieses Befehls einige Minuten in Anspruch nehmen, auch wenn dieser Parameter auf „false“ festgelegt ist.
Wenn dieser Befehl abgeschlossen ist, wird ihr Snapshot im angegebenen Repository gespeichert und steht zur Verwendung zur Verfügung. Es wird empfohlen, häufige Snapshots zu erstellen, um das Repository so aktuell wie möglich zu halten. Snapshots werden inkrementell erstellt, wodurch nur neue Daten in einer nachfolgenden Ausführung gespeichert werden, sodass dies nicht ressourcenintensiv ist.
Führen Sie auf Ihrem neuen Server die folgenden Schritte aus:
- Beenden Sie den Elasticsearch-Dienst.
- Fügen Sie das freigegebene Verzeichnis in der Datei
elasticsearch.yml
Datei hinzu:path.repo: [“\\\\server_name\\folder_name”]
. - Starten Sie den Elasticsearch-Dienst neu.
- Klicken Sie im Kibana-Dashboard im Abschnitt Dev Tools auf Konsole. Das Fenster Konsole wird geöffnet.
-
Erstellen Sie das Repository mit demselben Namen wie zuvor:
PUT /_snapshot/backup_old/ { “type”: “fs”, “settings”:{ “location”: “\\server_name\\folder_name” } }
PUT /_snapshot/backup_old/ { “type”: “fs”, “settings”:{ “location”: “\\server_name\\folder_name” } } - Bei Erfolg lautet die Konsolenantwort:
“acknowledged”: true
. - Laden Sie den Snapshot:
POST/_snapshot/backup_old/snapshot_1/_restore
.
Alle vorherigen Indizes werden neu erstellt, obwohl es je nach Größe einige Zeit dauern kann, bis sie alle synchronisiert sind. Die Wiederherstellung kann in einem bereits ausgeführten Cluster oder auf einer neuen Maschine durchgeführt werden.