Elasticsearch 备份和还原--还原到其他ES集群等操作

ES基本备份还原操作详见上篇:Elasticsearch 备份和还原
https://blog.csdn.net/lianisgood/article/details/89419317

还原为其他ES集群

官方文档关于还原到其他ES集群的描述为:“存储在快照中的信息不依赖于特定群集或群集名称。因此,可以将从一个群集创建的快照还原到另一个群集。所需的只是在新集群中注册包含快照的存储库并启动还原过程。新群集不必具有相同的大小或拓扑。但是,新群集的版本应该与用于创建快照的群集相同或更新(只有1个主要版本更新)。例如,您可以将1.x快照还原到2.x群集,但不能将1.x快照还原到5.x群集”
具体要求即:
1、ES集群的仓库类型、位置需要一致,即如下设置需一致:
Elasticsearch 备份和还原--还原到其他ES集群等操作_第1张图片
2、将源集群使用API备份,并将备份文件拷贝到目标集群的location位置中;

    PUT http:xxxx:9200/_snapshot/my_backup/snapshot_1

3、目标集群使用还原命令还原,还原结束后索引、文档数据就会恢复。

    POST http:xxxx:9200/_snapshot / my_backup / snapshot_1 / _restore

备份还原特定索引或者特定索引不备份还原

有时候因为业务的需要,会要求某些只对部分索引操作或者不对部分索引操作,通常索引的数量都比较多,完整的罗列比较费时,ES的Mutilple Indices章节中介绍到:“大多数引用index参数的API都支持使用简单test1,test2,test3表示法(或_all所有索引)跨多个索引执行。它还支持通配符,例如:testtest或tet或test*,以及“排除”(-)的能力,例如:test*,-test3。”
当然这种用法使用于ES的所有API,下面罗列下具体使用例子:
不备份全部索引中的某几个:

PUT http://xxxxx:9200/_snapshot/my_backup/snapshot_1?wait_for_completion=true
{
    "indices": "*,-index1,-index2"
}

curl:

curl -XPUT 'http://xxxxx:9200/_snapshot/my_backup/snapshot_1?wait_for_completion=true' -H "Content-Type: application/json" -d '{"indices": "*,-index1,-index2"}'

官方链接:
https://www.elastic.co/guide/en/elasticsearch/reference/6.6/multi-index.html
https://www.elastic.co/guide/en/elasticsearch/reference/6.6/modules-snapshots.html

你可能感兴趣的:(Elasticsearch)