跨群集的ElasticSearch快照

dim*_*zak 0 elasticsearch

最近我snapshot在一个elasticsearch由3个数据节点组成的集群中创建了一个索引.

我的主要目的是将此索引移动到另一个群集中.

我用过的命令:

PUT /_snapshot/my_backup

{
    "type": "fs",
    "settings": {
        "location": "/home/me/backup",
        "compress": true
    }
}


PUT _snapshot/my_backup/snapshot_1?wait_for_completion=true
{
  "indices": "daily-20141127"
}
Run Code Online (Sandbox Code Playgroud)

注意:上述查询在同一数据节点中执行.

Snapshot已在上述位置成功创建,但在我查询查询的另一个节点中,此备份位置中的每个节点都有一个文件夹(名称:indices),其中包含等效节点上的备份索引的分片.

示例:
node1:home/me/my_backup/indices/1,2,3
node2:home/me/my_backup/indices/4,5,6
node3:home/me/my_backup/indices/7,8,9

因此,我不得不手动将群集中的所有索引文件夹复制到具有快照元数据的节点以完成备份.然后我将备份文件夹复制到新的群集并恢复它(恢复过程很好)

备份索引的所有索引文件夹都可以在1个节点中,而不是跨群集拆分吗?

And*_*fan 5

location您指定应该是一个"共享"的位置,并在库中指定应指向所有节点共享同一个目录的路径.它不能只是节点上的本地目录.例如:该位置可以是单独计算机上的网络共享安装,并且所有节点都应指向它并且应该能够访问它.

这样做的原因是每个节点可以从分片中保存主要副本或副本,并且它应该能够复制该特定分片中包含的文档,然后转移到"共享"位置.