ES Snapshot

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ES Snapshot相关的知识,希望对你有一定的参考价值。

参考技术A ES允许我们为某一个 index 或者是整个 cluster 创建snapshot, 并将这些snapshot存储在remote repository中比如 shared file system S3 HDFS .

在我们创建snapshot之前,需要先向ES注册一个 remote snapshot repository , 相当于是告知ES cluster,我们将在某一个地方(S3 bucket)创建一个remote repository专门用来存放当前这个集群的snapshot。根据snapshot存放的位置不同,有多种不同类型的 snapshot repository :

当一个repository被注册之后,ES会立刻验证集群中所有的节点(data node、 master node)都能正常和repository工作。这是默认行为。

这样只会删除ES和这个remote repo的引用关系,相当于只是删除那次注册,remote repository中所有文件都依然存在。

一个repository中可以包含多个同一集群的snapshot,也就是ES期待我们只会在一个Repository只能存放某一个集群的snapshot。

通常我们会使用

指定在某一个repo中创建一个snapshot。默认情况下,这个指令会给整个cluster创建一个snapshot并存放在指定的remote repo中。

当然你可以创建snapshot的同时指定一些配置,比如只备份某一个index、

这个指令可以只备份 index_1/index_2 两个index

这个指令返回关于snapshot的基本信息,包括开始和结束时间、创建快照的elasticsearch版本、包含的索引列表、快照的当前状态和快照期间发生的故障列表。

你也可以通过

查看当前repo中所有的snapshot

使用以上指令删除snapshot的时候:

注意如果你想要删除repo中的所有快照,不要使用下面的命令,直接删除remote repo

因为这样只会删除ES和这个remote repo的引用关系,相当于只是删除那次注册,remote repository所有文件都依然存在。

snapshot是增量的。在创建snapshot的时候,Elasticsearch会分析已经存在snapshot,只备份自上一次快照以来创建或更改的文件, 那些没有更改的文件会直接引用到上一次的snapshot中。因此如果频繁备份,那么snapshot的文件会越来越小。

以上是关于ES Snapshot的主要内容,如果未能解决你的问题,请参考以下文章

ES7、ES8、ES9、ES10、ES11 浏览器支持 [关闭]

怎么知道浏览器支持es6 es7 es8查询

刚涉及es6,求高手推荐es6怎么编译为es5

最简单es6 7 等转es5 babel配置

如何将 ES2017 转换为 ES5

ES系列目录