Elasticsearch自动备份与恢复 您所在的位置:网站首页 snapshot备份工具 Elasticsearch自动备份与恢复

Elasticsearch自动备份与恢复

2024-07-01 00:52| 来源: 网络整理| 查看: 265

开启阿里云Elasticsearch(简称ES)的自动备份功能后,系统将按照设定的备份周期和时间自动备份数据,如果遇到数据误删除、应用逻辑错误等情况时,您可以通过自动备份恢复功能,将特定时间点的备份数据恢复到原ES实例中,保证数据的安全性。本文介绍开启、关闭自动备份功能和恢复备份数据的方法。

背景信息

ES数据备份与恢复依赖于elasticsearch-repository-oss插件,阿里云ES实例默认已安装该插件且不可卸载。关于该插件的详细信息,请参见elasticsearch-repository-oss。

注意事项

集群的第一个快照是集群数据的完整拷贝,后续所有的快照保留的是已存快照和新快照之间的增量,因此首次快照耗时较长(具体时长与数据量相关),后续快照备份会比较快。

快照仅保存索引数据,不保存Elasticsearch实例自身的监控数据(例如以.monitoring和.security_audit为前缀的索引)、元数据、Translog、实例配置数据、Elasticsearch的软件包、自带和自定义的插件、Elasticsearch的日志等。

自动备份只保留最近7天的快照数据。

自动备份数据只能用于恢复到原集群,如果需要跨集群恢复,请参见手动备份与恢复或设置跨集群OSS仓库。

关闭自动备份会进行一次数据备份,更新自动备份开始时间不会进行数据备份。

开启自动备份登录阿里云Elasticsearch控制台。在左侧导航栏,单击Elasticsearch实例。进入目标实例。在顶部菜单栏处,选择资源组和地域。在Elasticsearch实例中单击目标实例ID。

在左侧导航栏,单击数据备份

数据备份(免费试用)区域,打开自动备份开关。

单击自动备份开始时间右侧的设置

重要

为保证系统安全性,内核增强版类型实例的自动备份时间由系统默认生成,不支持修改。

自动备份周期设置面板,选择备份周期(自动备份触发的时间)。

选择自动备份触发的时间

备份周期

说明

每30分钟

每30分钟进行一次自动备份。

每天

每天都会进行自动备份。可自定义备份时间。

自定义

自定义选择备份的周期和时间。

重要

自动备份时间为当前实例所在地域的时间。

单击确定

查看备份快照

开启自动备份功能后,您可以登录Kibana控制台,在对应阿里云Elasticsearch实例的Kibana控制台上,通过_snapshot API查看自动备份快照的信息:

查看快照仓库。

GET _snapshot

执行成功后,返回结果示例如下。

{ "aliyun_auto_snapshot" : { "type" : "oss", "settings" : { "compress" : "true", "base_path" : "cf95b9-185320276651****/es-cn-09k2053us0003****", "endpoint" : "http://oss-cn-hangzhou-internal.aliyuncs.com" } } }

参数

说明

aliyun_auto_snapshot

自动快照仓库在首次快照时生成。阿里云Elasticsearch自动备份快照存储的仓库名称固定为aliyun_auto_snapshot。

说明

一个仓库可以存储多个快照,每个快照中可以包含所有、部分或单个索引的备份数据。

type

快照的存储介质。oss表示快照存储介质为对象存储服务OSS(Object Storage Service)。

compress

是否打开快照文件的压缩功能:

true:打开压缩功能,仅应用于元数据文件(索引映射和设置)。

false(默认值):不打开压缩功能,数据文件未压缩。

base_path

快照在OSS中的存储位置。

endpoint

OSS所处地域的信息。

查看aliyun_auto_snapshot仓库中,所有快照的信息。

GET _snapshot/aliyun_auto_snapshot/_all

执行成功后,返回结果示例如下。

{ "snapshots": [ { "snapshot": "es-cn-09k2053us0003****_20210117030003", "uuid": "vIdSCkthTeGa0nSj4D****", "version_id": 5050399, "version": "5.5.3", "indices": [ ".kibana" ], "state": "SUCCESS", "start_time": "2018-06-28T01:22:39.609Z", "start_time_in_millis": 1530148959609, "end_time": "2018-06-28T01:22:39.923Z", "end_time_in_millis": 1530148959923, "duration_in_millis": 314, "failures": [], "shards": { "total": 1, "failed": 0, "successful": 1 } }, { "snapshot": "es-cn-09k2053us0003****_20210118030004", "uuid": "XKO_Uwz_Qu6mZrU3Am****", "version_id": 5050399, "version": "5.5.3", "indices": [ ".kibana" ], "state": "SUCCESS", "start_time": "2018-06-28T01:25:00.764Z", "start_time_in_millis": 1530149100764, "end_time": "2018-06-28T01:25:01.482Z", "end_time_in_millis": 1530149101482, "duration_in_millis": 718, "failures": [], "shards": { "total": 1, "failed": 0, "successful": 1 } } ] }重要

自动备份时间为当前地域的时间,而以上返回结果中的时间为UTC时间(世界标准时间),会存在时区差。您可根据时区差进行转换,例如北京时间的时区差为8个小时,则北京时间=UTC时间+0800。

其中state为快照状态,阿里云Elasticsearch实例的快照共有以下5种状态。

快照状态

说明

IN_PROGRESS

快照正在执行。

SUCCESS

快照执行结束,且所有shard中的数据都存储成功。

FAILED

快照执行结束,但部分索引中的数据存储不成功。

PARTIAL

部分数据存储成功,但至少有1个shard中的数据没有存储成功。

INCOMPATIBLE

快照与阿里云Elasticsearch实例的版本不兼容。

自动备份快照还有以下未显示的默认参数。

参数

说明

max_snapshot_bytes_per_sec

单节点数据备份的最快速度,默认为每秒40mb。

max_restore_bytes_per_sec

单节点数据恢复的最快速度,默认为每秒40mb。

chunk_size

快照时,大文件会被拆分成若干个小文件。该参数用来设置拆分出的文件大小,例如1g、10m、5k。默认为null,表示无限制。

查看aliyun_auto_snapshot仓库中,指定快照的详细信息。

GET _snapshot/aliyun_auto_snapshot//_status

:自动备份快照名称。可通过查看所有快照命令获取,例如es-cn-09k2053us0003****_20210118030004。

执行成功后,返回结果示例如下。

{ "snapshots": [ { "snapshot": "es-cn-09k2053us0003****_20210118030004", "repository": "aliyun_auto_snapshot", "uuid": "XKO_Uwz_Qu6mZrU3Am****", "state": "SUCCESS", "shards_stats": { "initializing": 0, "started": 0, "finalizing": 0, "done": 1, "failed": 0, "total": 1 }, "stats": { "number_of_files": 4, "processed_files": 4, "total_size_in_bytes": 3296, "processed_size_in_bytes": 3296, "start_time_in_millis": 1530148959688, "time_in_millis": 77 }, "indices": { ".kibana": { "shards_stats": { "initializing": 0, "started": 0, "finalizing": 0, "done": 1, "failed": 0, "total": 1 }, "stats": { "number_of_files": 4, "processed_files": 4, "total_size_in_bytes": 3296, "processed_size_in_bytes": 3296, "start_time_in_millis": 1530148959688, "time_in_millis": 77 }, "shards": { "0": { "stage": "DONE", "stats": { "number_of_files": 4, "processed_files": 4, "total_size_in_bytes": 3296, "processed_size_in_bytes": 3296, "start_time_in_millis": 1530148959688, "time_in_millis": 77 } } } } } } ] }从自动备份恢复数据

自动备份完成后,您可以通过_restore API恢复数据到原Elasticsearch实例中。

重要

恢复.开头的系统索引可能会导致Kibana访问失败,建议不要恢复系统索引。

在Kibana控制台上,执行如下命令,从快照中恢复索引数据:

恢复aliyun_auto_snapshot仓库中,指定快照的所有索引(后台执行)。

POST _snapshot/aliyun_auto_snapshot//_restore

:自动备份快照的名称,例如es-cn-abcdefghij****_20180627091600。

恢复aliyun_auto_snapshot仓库中,指定快照的所有索引,并等待任务处理完成。

_restore API为异步调用,实例在确认可执行恢复操作后会立即返回,该恢复任务会在后台执行。您可以通过追加wait_for_completion参数,阻塞调用直到恢复完成再返回信息。

POST _snapshot/aliyun_auto_snapshot//_restore?wait_for_completion=true

:自动备份快照名称,例如es-cn-abcdefghij****_20180627091600。

恢复aliyun_auto_snapshot仓库中,指定快照的指定索引,并为恢复的索引重命名(后台执行)。

POST _snapshot/aliyun_auto_snapshot//_restore { "indices": "index_1", "rename_pattern": "index_(.+)", "rename_replacement": "restored_index_$1" }

参数

说明

自动备份快照名称,例如es-cn-abcdefghij****_20180627091600。

indices

需要恢复的索引名称。

rename_pattern

可选,正则匹配需要恢复的索引名称。

rename_replacement

可选,为匹配上的索引按规则重命名。

关闭自动备份登录阿里云Elasticsearch控制台。在左侧导航栏,单击Elasticsearch实例。进入目标实例。在顶部菜单栏处,选择资源组和地域。在Elasticsearch实例中单击目标实例ID。

在左侧导航栏,单击数据备份

数据备份(免费试用)区域,单击开启自动备份开关,关闭自动备份功能。

相关文档

手动备份与恢复

自动备份快照到本地OSS仓库

登录Kibana控制台



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有