Unsere Datenschutzrichtlinie wird in Kürze aktualisiert. Bitte sehen Sie sich die Vorschau an.

Elasticsearch Grundkurs

Indizes sichern

Testen Sie unsere 2016 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Backup-Mechanismen werden in Elasticsearch über Snapshots (oft auch als Momentaufnahme oder Prüfpunkt bezeichnet) realisiert. Dadurch ist es möglich, ausgewählte Indizes inkrementell abzusichern und dabei die Server möglichst gering zu belasten.

Transkript

Egal wie redundant man ein Cluster aufbaut, am Ende möchte man nicht das Nachsehen haben, dass man Daten verloren hat, weil man kein Backup angelegt hat oder womöglich möchte man sogar ein Backup an einem anderen Ort wieder herstellen, um eine zweite Datenbank aufzubauen. Egal was man genau vorhat, Elasticsearch hat eine umfangreiche Backup-Funktionalität, und in diesem Video lernen Sie, wie Sie an solches Backup einrichten können. Bevor Sie ein Backup tätigen können, müssen Sie auf jedem Server in Ihrem Cluster ein sogenanntes Repository definieren. Dieses muss übrigens im Cluster auf allen Servern in gleicher Art und Weise, also unter demselben Pfad zur Verfügung stehen. In diesem Beispiel verwende ich diesen Ordner in meinem Dateisystem-Backup. Unter Windows ist es außerdem wichtig hier doppelten Backslash zu verwenden, damit Elasticsearch den Pfad korrekt lesen kann. Es ist übrigens auch möglich, hier in dieser Liste mehr als nur einen Pfad anzugeben. Sollte allerdings einer dieser Pfade bei einem Backup nicht zur Verfügung stehen, auf einem der Server im Cluster, so wir dies unweigerlich zu einem Fehler führen. Um ein Backup zu starten, benötigen Sie selbstverständlich auch Daten. Für diesen Zweck speichere ich nun die 250 besten Filme auf IMDB in meinem Index "Movies". Als Nächstes lege ich nun eine Backup-Konfiguration an. Bei dem Backup einer Elasticsearch handelt es sich um sogenannte Snapshots. Snapshots sind also eine Momentaufnahme des Zustands eines Index und können daher auch inkrementell durchgeführt werden. Das bedeutet, nach Änderungen im Index muss nicht der gesamte Index neu gespeichert werden, sondern lediglich die Änderungen. Ich definiere also ein Dokument, indem ich einen Backuptyp bestimme, in dem Fall "fs" für Filesystem, außerdem übergebe ich nun Einstellungen für den Backuptyp "fs" unter Settings. Ich definiere einen Ort, wo gespeichert werden soll, also einen Ordner in meinem Dateisystem, außerdem kann ich hier die genutzte I·O - Zeit limitieren. Das bedeutet, wie viel Menge an Daten geschrieben werden dürfen pro Sekunde, dadurch kann ich verhindern, dass mein Backup nachhaltig die Zugriffszeiten auf meiner Festplatte beeinflussen, beziehungsweise den Einfluss möglichst gering halten. Auf den Endpunkt "_snapshot", vergebe ich nun einen Namen mit der Bezeichnung "my_Backup". Wenn alles soweit funktioniert hat, bekomme ich die Bestätigung, dass Elasticsearch diese Backup-Konfiguration übernommen hat. Als nächstes lege ich nun einen Backup-Job an, Ein Backup-Job definiert, also nun auf der Basis dieses Backuptypes, welchen Index ich innerhalb des Jobs speichern möchte. In meinem Fall definiere ich also hier in der Indexliste den Index "Movies". Mit einer Liste könnte ich hier mir als nur ein Index angeben. Dafür würde ich mit eckigen Klammern zusätzlich weitere Indizes hinzufügen. Ich bleibe nun allerdings beim Index "Movies". Mit dem Anlegen des Jobs starte ich auch unmittelbar den Job selbst. Den Zustand kann ich über den Aufruf von "_snapshot/my_backup/job1" und einem "http//get" abrufen. Hier sehe ich nun, wie viel Zeit das Backup in Anspruch genommen hat, In meinem Backup-Ordner finde ich nun Dateien vor, die mein Backup repräsentieren. Diese könnte ich nun beispielsweise auch kopieren und an einem anderen Ort sichern. Interessant wird es vor allem dann, wenn ein solches Backup wieder hergestellt werden muss. Für diesen Zweck kann ich basierend auf einem Job die Restore-Funktion starten. Beim Wiederherstellen kann ich auch beispielsweise einen ursprünglichen Index, wie "Movies" umbenennen. Dafür kann ich ein so genanntes "rename_pattern" verwenden. In diesem Fall nutze ich die Regular-Expression (.+ ), um den gesamten Namen "Movies" zu markieren und wie dür Regular-Expression üblich, kann ich durch Setzen von Klammern vorne und hinten, dies als Referenz wieder verwenden. Mein neuer Index wird also nun "movies_new" heißen. Als nächstes betrachte ich nun die Liste aller Indizes in meiner Elasticsearch Instanz. Hier befindet sich also nun in dem ursprünglichen Index "Movies" auch ein Index "movies_new". Unter "movies_new" kann ich selbstverständlich auch ein Dokument abrufen. Sollte ich dieses Backup löschen wollen, ist es äußerst wichtig, das nicht im Dateisystem zu tun, sondern mit den von Elasticsearch vorgesehenen APIs. In dem Fall nutze ich also den "http//delete" auf meinem Backup-Job. Sie haben nun also gesehen, dass die Backup-Funktion in Elasticsearch basierend auf Snapshots ist. Sie können außerdem mit einem einzigen Backup/Job multiple Indizes auf einmal absichern. Am Anfang habe ich Sie noch darauf hingewiesen, dass das Definieren von Orten, an denen das Backup gespeichert wird im gesamten Cluster einheitlich sein muss.

Elasticsearch Grundkurs

Lernen Sie, Elasticsearch und seine Einsatzgebiete zu verstehen und mit der API zu interagieren.

2 Std. 19 min (23 Videos)
Derzeit sind keine Feedbacks vorhanden...
 
Themen:
Programmierung
Exklusiv für Abo-Kunden
Erscheinungsdatum:23.02.2017

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!