elasticsearch - 如何将数据复制到另一个集群

时间:2013-07-26 14:51:43

标签: elasticsearch

如何获取文件的弹性搜索索引,然后将该数据插入另一个群集? 我想将数据从一个集群移动到另一个集群,但我无法直接连接它们。

3 个答案:

答案 0 :(得分:2)

如果您不需要保持_id相同且唯一重要的位是_source,您可以使用带有config的logstash:

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

这里有更多信息:http://www.logstash.net/docs/1.4.2/

是的,它的方法很奇怪,但是我尝试通过索引在群集之间进行即时数据传输,它可以作为魅力(当然如果你不需要保留由弹性搜索生成的_id)

答案 1 :(得分:1)

有一个脚本可以帮助您备份和恢复从一个群集到另一个群集的索引。我没有测试过这个,但可能会解决你的需求。 检查此Backup and restore an Elastic search index

您还可以使用perl脚本将索引从一个群集复制到另一个群集(或同一群集)。

点击此链接clintongormley/ElasticSearch.pm

答案 2 :(得分:0)

我最近尝试解决这个问题,有几种方法可以帮助您。

  1. 使用 Elasticsearch 的 Snapshot and Restore APIs。 您可以在源集群上take a snapshot,在目标集群上use that snapshot to restore 数据。

  2. 如果您的设置允许安装外部软件包,您也可以使用 Elasticdump

HTH!