voyagersm
voyagersm

Reputation: 123

elasticsearch - how to copy data to another cluster

How can I get an elasticsearch index to a file and then insert that data to another cluster? I want to move data from one cluster to another but I can't connect them directly.

Upvotes: 7

Views: 12399

Answers (3)

avp
avp

Reputation: 3350

I recently tried my hands around this and there are a couple of approaches that can help you.

  1. Use Elasticsearch's Snapshot and Restore APIs. You can take a snapshot at the source cluster and use that snapshot to restore data to your destination cluster.

  2. If your setup allows installing external packages, you can use Elasticdump as well.

HTH!

Upvotes: 0

PHPSoft
PHPSoft

Reputation: 41

If you no need to keep _id the same and only important bit is _source you may use logstash with config:

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

here is more info: http://www.logstash.net/docs/1.4.2/

Yes it's method is weird, but I tried it for instant data transfer between clusters index by index and it is working as a charm (of course if you no need to keep _id generated by elasticsearch)

Upvotes: 2

kiruba
kiruba

Reputation: 336

There is script which will help you to backup and restore indices from one cluster to another. i didn't tested this but may be it will fix your needs. check this Backup and restore an Elastic search index

And you can also use perl script to copy index from one cluster to another (or the same cluster).

check this link clintongormley/ElasticSearch.pm

Upvotes: 1

Related Questions