自学内容网 自学内容网

阿里云ElasticSearch跨集群备份恢复实践

背景

在ES跨大版本升级以及ES实例数据切换场景下可依托于阿里云elasticsearch-repository-oss插件实现跨实例间的ES数据备份与恢复。

前提条件

  • 相同地域
  • 归属于相同账号。
  • 源端实例的版本低于或等于目标端实例的版本。
  • 如果源端和目标端实例的版本都是商业版6.7.0,请确保两个实例的内核版本都是最新或者目标端的内核版本比源端高。

操作流程

创建OSS引用仓库

1.打开阿里云Elasticsearch控制台。
2.在左侧导航栏,单机ES实例。
3.进入目标实例。

  • 点击左侧菜单栏的数据备份菜单

在这里插入图片描述

  • 跨集群OSS仓库设置区域,单击立即创建。
  • 点击创建OSS引用仓库,选择要引用的源端实例

在这里插入图片描述

  • 添加成功后会在目标实例显示引用的源端实例ID和生成一个引用仓库名称,以及引用仓库状态
    在这里插入图片描述

查看引用实例的快照信息

1.登录目标端实例的kibana控制台,点击开发者工具

在这里插入图片描述
2.在Console中执行以下命令查看引用实例仓库中的所有快照信息

GET /_cat/snapshots/<引用仓库名称>?v

在这里插入图片描述

通过快照还原指定索引数据

新建快照

如果实例自动创建的快照时间差较大,可先将要恢复的索引写入停掉后创建最新快照

  1. 设置源实例索引不允许写入
PUT /<index_name>/_settings
{
  "index.blocks.write": true
}

  1. 在源实例创建快照
--可以传入多个索引
PUT _snapshot/aliyun_auto_snapshot/<snapshot_name>
{
    "indices": "<index_name>" 
}

还原索引数据
  1. 目标实例查看快照
GET /_cat/snapshots/<引用仓库名称>?v
  1. 目标实例还原快照
-- 可以传入多个索引
POST _snapshot/<oss引用集地址>/<snapshot_name>/_restore
{
  "indices": "index_name"
}
  1. 等待索引运行状况变为green代表还原完成
    在这里插入图片描述

注意

如果索引恢复时,没有停掉源实例索引写入,要有补偿机制,针对数据备份过程中产生的差异数据,需要做补偿机制,另外关闭索引写入功能要搭配应用侧重试机制使用。


原文地址:https://blog.csdn.net/Habo_/article/details/143874868

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!