Wie verschiebe ich Elasticsearch-Daten von einem Server auf einen anderen?
Ich habe Server A, auf dem Elasticsearch 1.1.1 auf einem lokalen Knoten mit mehreren Indizes ausgeführt wird. Ich möchte diese Daten auf Server B kopieren, auf dem Elasticsearch 1.3.4 ausgeführt wird
Verfahren bisher
- Fahren Sie ES auf beiden Servern und herunter
- scp alle Daten in das richtige Datenverzeichnis auf dem neuen Server. (Daten scheinen sich unter / var / lib / elasticsearch / auf meinen Debian-Boxen zu befinden)
- Ändern Sie die Berechtigungen und den Besitz in elasticsearch: elasticsearch
- Starten Sie den neuen ES-Server
Wenn ich mir den Cluster mit dem ES Head Plugin ansehe, werden keine Indizes angezeigt.
Es scheint, dass die Daten nicht geladen sind. Vermisse ich etwas
elasticsearch
Jabb
quelle
quelle
Antworten:
Die ausgewählte Antwort klingt etwas komplexer als sie ist. Folgendes benötigen Sie (installieren Sie npm zuerst auf Ihrem System).
Sie können den ersten Befehl für den elastischen Speicherauszug für nachfolgende Kopien überspringen, wenn die Zuordnungen konstant bleiben.
Ich habe gerade eine Migration von AWS zu Qbox.io mit den oben genannten ohne Probleme durchgeführt.
Weitere Details unter:
https://www.npmjs.com/package/elasticdump
Hilfeseite (Stand Februar 2016) der Vollständigkeit halber enthalten:
quelle
Verwenden Sie ElasticDump
1) Installieren Sie Epel-Release
2) yum install nodejs
3) yum install npm
4) npm elastischen Dump installieren
5) cd node_modules / elasticdump / bin
6)
quelle
Hierfür können Sie die in Elasticsearch verfügbare Snapshot- / Wiederherstellungsfunktion verwenden . Sobald Sie einen Dateisystem-basierten Snapshot-Speicher eingerichtet haben, können Sie ihn zwischen Clustern verschieben und in einem anderen Cluster wiederherstellen
quelle
Ich habe auf Ubuntu versucht, Daten von ELK 2.4.3 nach ELK 5.1.1 zu verschieben
Es folgen die Schritte
im Home-Verzeichnis gehe zu
Führen Sie den Befehl aus
Wenn Sie eine grundlegende http-Authentifizierung benötigen, können Sie diese folgendermaßen verwenden:
Kopieren Sie einen Index aus der Produktion:
quelle
sudo apt-get install -y software-properties-common
Es gibt auch die
_reindex
OptionAus der Dokumentation:
quelle
Wenn Sie den zweiten Server zum Cluster hinzufügen können , können Sie Folgendes tun:
Dies funktioniert nur, wenn die Anzahl der Ersetzungen der Anzahl der Knoten entspricht.
quelle
Wenn jemand auf dasselbe Problem stößt, müssen Sie beim Versuch, von elasticsearch <2.0 auf> 2.0 zu sichern, Folgendes tun:
quelle
Ich hatte immer Erfolg damit, das Indexverzeichnis / den Indexordner einfach auf den neuen Server zu kopieren und neu zu starten. Sie finden die Index-ID, indem Sie dies tun,
GET /_cat/indices
und der Ordner, der mit dieser ID übereinstimmt, befindet sichdata\nodes\0\indices
(normalerweise in Ihrem Elasticsearch-Ordner, sofern Sie ihn nicht verschoben haben).quelle
Wir können das Backup verwenden
elasticdump
odermultielasticdump
erstellen und wiederherstellen. Wir können Daten von einem Server / Cluster auf einen anderen Server / Cluster verschieben.Eine ausführliche Antwort, die ich hier gegeben habe, finden Sie hier .
quelle
Wenn Sie lediglich Daten von einem Elasticsearch-Server auf einen anderen übertragen müssen, können Sie auch die Elasticsearch-Dokumentübertragung verwenden .
Schritte:
$ npm install elasticsearch-document-transfer.
config.js
config.js
options.js
$ node index.js
quelle
Sie können eine Momentaufnahme des vollständigen Status Ihres Clusters (einschließlich aller Datenindizes) erstellen und diese (mithilfe der Wiederherstellungs-API) im neuen Cluster oder Server wiederherstellen.
quelle