2013-07-26 13 views
5

Wie kann ich einen Elasticsearch-Index für eine Datei erhalten und diese Daten dann in einen anderen Cluster einfügen? Ich möchte Daten von einem Cluster zu einem anderen verschieben, aber ich kann sie nicht direkt verbinden.elasticsearch - So kopieren Sie Daten in einen anderen Cluster

+0

Ist die elasticsearch-Version für beide Cluster gleich? – javanna

+0

ja, ich benutze 0.90.2 – voyagersm

+0

Cool, wie wäre es mit dem Layout: wie viele Knoten? Gleiche Anzahl von Knoten in beiden Clustern? – javanna

Antwort

1

Es gibt ein Skript, mit dem Sie Indizes von einem Cluster zum anderen sichern und wiederherstellen können. Ich habe das nicht getestet, aber möglicherweise wird es Ihre Bedürfnisse beheben. überprüfen Sie diese Backup and restore an Elastic search index

Und Sie können Perl-Skript auch verwenden, um Index von einem Cluster zu einem anderen (oder dem gleichen Cluster) zu kopieren.

Prüfung Link clintongormley/ElasticSearch.pm

+0

Links sind tot. Bitte aktualisieren Sie die Links oder löschen Sie die Antwort. – colidyre

+0

@colidyre überprüfen Sie diesen Link, aber es ist alt und ich denke, sie sind stark zu empfehlen, offizielle Python API zu verwenden. https://github.com/eriky/ESClient. Überprüfen Sie dies auch meine gespaltene Version hat Kopier-Skript https://github.com/kirubar/ESClient – kiruba

2

Wenn Sie keine Notwendigkeit _id gleich und nur wichtig, etwas zu halten, ist _Source Sie mit config logstash können:

input { //from one cluster } output { //to another cluster } 

hier weitere Informationen: http://www.logstash.net/docs/1.4.2/

Ja ist es Methode ist seltsam, aber ich versuchte es für sofortige Datenübertragung zwischen Clustern Index für Index und es funktioniert als ein Charme (natürlich, wenn Sie _id nicht durch elasticsearch gehalten halten müssen)

Verwandte Themen