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

ops/2024/11/23 16:50:45/

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

  • 背景
    • 操作流程
      • 创建OSS引用仓库
      • 查看引用实例的快照信息
      • 通过快照还原指定索引数据
        • 新建快照
        • 还原索引数据
      • 注意

背景

在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代表还原完成
    在这里插入图片描述

注意

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


http://www.ppmy.cn/ops/136085.html

相关文章

机器学习基础07

目录 1.逻辑回归 1.1原理 1.2API 2.K-Means 2.1算法过程 2.2API 3.SVM&#xff08;支持向量机&#xff09; 3.1算法原理​ 3.2API 1.逻辑回归 逻辑回归(Logistic Regression)是机器学习中的一种分类模型&#xff0c;逻辑回归是一种分类算法。 1.1原理 逻辑回归的输…

shell脚本(二)

声明&#xff01; 学习视频来自B站up主 泷羽sec 有兴趣的师傅可以关注一下&#xff0c;如涉及侵权马上删除文章&#xff0c;笔记只是方便各位师傅的学习和探讨&#xff0c;文章所提到的网站以及内容&#xff0c;只做学习交流&#xff0c;其他均与本人以及泷羽sec团队无关&#…

向量数据库FAISS之四:向量检索和 FAISS

来自 YouTube 1.相似度搜索的传统方法(Jaccard, w-shingling, Levenshtein) 1.Jaccard 距离 公式 Jaccard ( A , B ) 1 − ∣ A ∩ B ∣ ∣ A ∪ B ∣ \text{Jaccard}(A, B) 1 - \frac{|A \cap B|}{|A \cup B|} Jaccard(A,B)1−∣A∪B∣∣A∩B∣​ 其中&#xff0c; A 和 …

如何在分布式环境中实现高可靠性分布式锁

目录 一、简单了解分布式锁 &#xff08;一&#xff09;分布式锁&#xff1a;应对分布式环境的同步挑战 &#xff08;二&#xff09;分布式锁的实现方式 &#xff08;三&#xff09;分布式锁的使用场景 &#xff08;四&#xff09;分布式锁需满足的特点 二、Redis 实现分…

第十章作业

作业1 <!DOCTYPE html> <html lang"zh-CN"> <head> <meta charset"UTF-8"> <meta charset"UTF-8"> <title>数字时钟</title> <style> body { display: flex; flex-direction: colu…

微信小程序登录注册页面设计(小程序项目)

需求 在微信小程序设计并实现登录页面&#xff0c;并填写相关登录注册函数 实现效果 代码实现 html代码 <view class"top" style"border-bottom-style: none;background-color:#FF8C69;"><!-- <view class"back" bind:tap"…

【Python TensorFlow】进阶指南(续篇三)

在前几篇文章中&#xff0c;我们探讨了TensorFlow的高级功能&#xff0c;包括模型优化、分布式训练、模型解释等多个方面。本文将进一步深入探讨一些更具体和实用的主题&#xff0c;如模型持续优化的具体方法、异步训练的实际应用、在线学习的实现细节、模型服务化的最佳实践、…

transformer.js(三):底层架构及性能优化指南

Transformer.js 是一个轻量级、功能强大的 JavaScript 库&#xff0c;专注于在浏览器中运行 Transformer 模型&#xff0c;为前端开发者提供了高效实现自然语言处理&#xff08;NLP&#xff09;任务的能力。本文将详细解析 Transformer.js 的底层架构&#xff0c;并提供实用的性…