ES基于Snapshot(快照)的数据备份和还原

简介: ES基于Snapshot(快照)的数据备份和还原

1、快照是什么

快照是从正在运行的 Elasticsearch 集群中获取的备份。可以针对整个集群拍摄快照,也可以针对整个集群的数据流和索引。也可以仅对集群中的特定数据流或索引进行快照。


备份集群的唯一可靠且受支持的方法是拍摄快照。不可通过复制其节点的数据目录来备份 Elasticsearch 集群。不支持从文件系统级备份中恢复任何数据的方法。如果您尝试从此类备份中恢复集群,它可能会因报告损坏或丢失文件或其他数据不一致而失败,或者它可能似乎已经成功地默默地丢失了一些数据。


集群节点的数据目录副本不能用作备份,因为它不是其内容在单个时间点的一致表示。您无法通过在制作副本时关闭节点来解决此问题,也无法通过获取原子文件系统级快照来解决此问题,因为 Elasticsearch 具有跨越整个集群的一致性要求。必须使用内置快照功能进行集群备份


2、快照兼容性

快照包含磁盘数据结构的副本,这些数据结构构成索引或数据流的后备索引。这意味着快照只能恢复到可以读取索引的 Elasticsearch 版本。

下表显示了版本之间的快照兼容性。第一列表示您可以从中还原快照的基本版本。

a098e689f95d530cdbbd0e5c0e2082e8.png


3、基于快照的备份和还原

3.1 注册存储仓库

path.repo: ["~/es/backup"]


注意

  • 确保当前配置的仓库目录存在,如果不存在,需提前创建
  • 如果集群中包含多个节点,则需配置共享目录,单节点则不需要


3.2 注册快照存储库

PUT /_snapshot/my_backup
{
  "type": "fs",
  "settings": {
    "location": "~/es/backup"
  }
}


3.3 创建快照

PUT /_snapshot/my_backup/snapshot_1?wait_for_completion=true


3.4 还原快照

POST /_snapshot/my_backup/snapshot_1/_restore


指定要还原的索引或数据流

POST /_snapshot/my_backup/snapshot_1/_restore
{
  "indices": "data_stream_1,index_1,index_2",
  "ignore_unavailable": true,
  "include_global_state": false,              
  "rename_pattern": "index_(.+)",
  "rename_replacement": "restored_index_$1",
  "include_aliases": false
}


相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。  
相关文章
|
5月前
|
Cloud Native 关系型数据库 MySQL
免费体验!高效实现自建 MySQL 数据库平滑迁移至 PolarDB-X
PolarDB-X 是阿里云推出的云原生分布式数据库,支持PB级存储扩展、高并发访问与数据强一致,助力企业实现MySQL平滑迁移。现已开放免费体验,点击即享高效、稳定的数据库升级方案。
免费体验!高效实现自建 MySQL 数据库平滑迁移至 PolarDB-X
|
数据库
jumpserver V2自动同步、更新阿里云资产
jumpserver V2自动同步、更新阿里云资产
|
存储 人工智能 运维
重磅!阿里云可观测产品家族全新升级,AI +数据双驱动,打造全栈可观测体系
近日,阿里云可观测产品家族正式发布云监控 2.0,隶属产品日志服务 SLS、云监控 CMS、应用实时监控服务 ARMS 迎来重磅升级。
1430 108
|
安全 索引
elasticsearch异常问题
elasticsearch异常问题
541 0
|
消息中间件 存储 缓存
为什么 Kafka 的吞吐量那么高?
为什么 Kafka 的吞吐量那么高?
440 2
|
Linux Windows
ISO转换QCOW2
ISO转换QCOW2
1877 6
|
存储 安全 Java
Java面试题:在JVM中,堆和栈有什么区别?请详细解释说明,要深入到底层知识
Java面试题:在JVM中,堆和栈有什么区别?请详细解释说明,要深入到底层知识
519 3
|
弹性计算 IDE Shell
你好,云起实验室
本教程帮助开发者了解云起实验室。
|
数据可视化 JavaScript
Python+Dash快速web应用开发:回调交互篇(中)
Python+Dash快速web应用开发:回调交互篇(中)
456 0
|
JavaScript 数据库
浏览器打开html文件显示中文乱码解决方法
浏览器打开html文件显示中文乱码解决方法
2031 0