elasticsearch snapshot快照指定多个索引并行备份——筑梦之路

这篇具有很好参考价值的文章主要介绍了elasticsearch snapshot快照指定多个索引并行备份——筑梦之路。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Curl 命令方式对elasticsearch备份和恢复—— 筑梦之路_筑梦之路的博客-CSDN博客

之前也写过使用API请求的方式对ES数据进行快照方式备份,这里主要对之前的内容进行完善和补充。

版本兼容性

快照包含构成索引的磁盘上数据结构的副本。这意味着快照只能还原为可以读取索引的 Elasticsearch 版本:

  • 5.x中创建的索引快照可以还原为6.x
  • 2.x中创建的索引快照可以还原为5.x
  • 1.x中创建的索引快照可以还原为2.x

相反,在1.x中创建的索引的快照不能还原为5.x6.x,在2.x中创建的索引的快照不能还原为6.x

每个快照可以包含在不同版本的 Elasticsearch 中创建的索引,并且在还原快照时,必须能够将所有索引还原到目标集群中。如果快照中的任何索引是在不兼容的版本中创建的,则无法还原快照。

  • 重要的:在升级前备份数据时,请记住,如果快照包含在与升级版本不兼容的版本中创建的索引,升级后将无法还原快照。

如果在需要还原与当前运行的群集版本不兼容的索引快照的情况下结束,可以在最新的兼容版本上还原该快照,并使用「reindex-from-remote」在当前版本上重建索引。只有在原始索引启用了source时,才能从远程重新索引。检索和重新索引数据可能比简单地还原快照要花费更长的时间。如果你有大量的数据,我们建议你在继续之前使用数据子集测试远程进程的reindex,以了解时间要求。

Elasticsearch 保证高可用性的方式 

Elasticsearch 保证集群高可用的方式包含但不限于如下三种:

方式一:

            副本分片。主分片失效后,副本分片会被提升为主分片。

方式二:

           跨集群复制主从同步。简称:CCR,指的是索引数据从一个 Elasticsearch 集群复制到另一个 Elasticsearch 集群。对于主集群的索引数据的任何修改都会直接复制同步到从索引集群。

方式三:

          快照。快照在给定时刻对集群或者索引按了暂停键且拍摄了当时的全部“照片”。这样,当在之后的某个时间点,倘若集群或索引出现故障,可以基于之前的快照进行快速恢复。
 

Elasticsearch 7.x 之前版本备份

参考:Curl 命令方式对elasticsearch备份和恢复—— 筑梦之路_筑梦之路的博客-CSDN博客

Elasticsearch 7.x 之前版本备份方式及存在问题 

7.x之前的版本快照都是手动创建、手动控制的,不支持定时快照、定时删除历史快照等功能。

实际业务中,如何定时创建快照、定时删除时间比较久的历史快照呢?

关于快照的定时管理功能在 Elasticsearch 7.x+ 版本已经实现。7.4已经支持单个索引快照SLM定时快照管理,7.6+已经支持多个索引快照SLM定时并行管理备份

借助什么实现的呢?快照生命周期管理 (SLM) !

快照生命周期管理 (SLM) 是定期备份集群的最简单方法。SLM 策略会按照预设计划自动拍摄快照。该策略还可以根据用户自定义的保留规则(retention)删除快照。

 1. 配置ES快照仓库路径

# 配置快照仓库
cat elasticsearch.yml

path.repo: ["/usr/share/elasticsearch/data/snapshot_backup"]

2. 注册快照仓库

PUT _snapshot/snapshot_backup

{
  "type": "fs",
  "settings": {
    "location": "/usr/share/elasticsearch/data/snapshot_backup"
  }
}

3. 配置定时快照任务

PUT _slm/policy/daily_snapshots

{
  "schedule": "0 0/15 * * * ?",       # 定时任务 0/15 代表每15分钟创建一次快照
  "name": "<test-snap-{now/d}>",      # 快照的名称格式
  "repository": "snapshot_backup",    # 备份的repository
  "config": {  
    "indices": "*",                   # 备份的索引
    "include_global_state": true      # 设置为true(默认为true),则创建的快照包括集群状态以及 feature 状态
  },
  "retention": {                    
    "expire_after": "30d",            # 快照存储的天数
    "min_count": 5,                   # 最少存多少快照
    "max_count": 50                   # 最多存多少快照
  }
}

elasticsearch snapshot快照指定多个索引并行备份——筑梦之路  

4. 手动执行快照任务

POST _slm/policy/daily_snapshots/_execute

retention定时任务

PUT _cluster/settings
{
  "persistent" : {
    "slm.retention_schedule" : "0 30 1 * * ?"
  }
}

retention立即执行

POST _slm/_execute_retention

5. 快照恢复

 查看指定仓库下的快照

GET _snapshot/snapshot_backup/*?verbose=false

注意:原恢复索引若存在是不可以的,需要提前删除后再恢复。

示例如下:

DELETE .kibana-event-log-8.1.3-000001

POST _snapshot/mytx_backup/test-snap-2022.05.04-13d-_6dore-kc1x0-fdaiq/_restore
{
  "indices": ".kibana-event-log-8.1.3-000001"
}

6. SLM快照生命周期管理常用命令

# 检查当前正在运行的快照

GET _snapshot/mytx_backup/_current

# 检查当前正在运行快照的详细信息

GET _snapshot/_status

# 查看全量SML poclicy执行历史

GET _slm/stats

"snapshots_taken" : 67 是执行快照的次数

# 查看特定SLM policy执行历史

GET _slm/policy/test-snapshots


参数说明:

last_success 代表上一次执行成功快照的名称;。

start_time 快照执行时间:2022-05-05 14:29:59。

next_execution_millis 下一次快照执行时间:2022-05-05 14:45:00。

snapshots_taken - snapshots_deleted 之差和retention 里规定的 50 个是基本一致的。

# 删除快照

DELETE _snapshot/mytx_backup/test-snap-2022.05.05-uhbwjyj8qwwhdxqvcgejbq

# 停止快照
POST _slm/stop

 Stop snapshot lifecycle management API | Elasticsearch Guide [8.8] | Elastic

Elasticsearch 6.6 官方文档 之「快照和还原」_path.repo_CG国斌的博客-CSDN博客

Elasticsearch 7.4错误地报告快照已在运行 - 问答 - 腾讯云开发者社区-腾讯云文章来源地址https://www.toymoban.com/news/detail-501554.html

到了这里,关于elasticsearch snapshot快照指定多个索引并行备份——筑梦之路的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 13、HDFS Snapshot快照

    1、hadoop3.1.4简单介绍及部署、简单验证 2、HDFS操作 - shell客户端 3、HDFS的使用(读写、上传、下载、遍历、查找文件、整个目录拷贝、只拷贝文件、列出文件夹下文件、删除文件及目录、获取文件及文件夹属性等)-java 4、HDFS-java操作类HDFSUtil及junit测试(HDFS的常见操作以及H

    2024年02月11日
    浏览(45)
  • HDFS中snapshot快照机制

    snapshot是数据存储的某一时刻的状态记录,备份(backup)则是数据存储的某一个时刻的副本 HDFS snapshot快照是整个文件系统或某个目录在某个时刻的镜像,该镜像并不会随着源目录的改变而进行动态的更新 数据恢复 对重要的目录进行创建snapshot的操作,当用户误操作时,可以

    2024年02月13日
    浏览(84)
  • postgresql 从应用角度看快照snapshot使用,事务隔离控制不再神密

    ​ 专栏内容 :postgresql内核源码分析 个人主页 :我的主页 座右铭:天行健,君子以自强不息;地势坤,君子以厚德载物. 快照是事务中使用,配合事务的隔离级别,体现出不同的可见性。 快照在事务中自动获取,我们可以通过查看当前事务的快照和事务号来判断分析。 为了

    2024年02月10日
    浏览(33)
  • Elasticsearch集群进行索引的备份与恢复

    准备需要三台服务器 ip如下: 10.1.40.110,10.1.40.12,10.1.40.8 我们要进行集群部署首先要进行,创建备份共享文件存储地址 由于是集群部署且服务器不同所以这边用到了NFS进行文件的共享 备份到集群共享目录 步骤: 1) 、搭建集群共享目录 (这里使用NFS也可以使用其它共享目录

    2024年02月03日
    浏览(37)
  • ES(elasticsearch)删除指定索引

    需要删除指定的索引 执行命令 比如:DELETE /mysql-status_-2023.06 执行结果: 执行命令 比如:HEAD /mysql-status_-2023.06 执行结果: 说明已经删除完毕 删除命令: DELETE /索引名 查看是否删除成功: HEAD /索引名 查看索引命令: GET /索引名称 批量查看索引命令: GET /索引名称1,索引名称

    2024年02月11日
    浏览(64)
  • Maven 打包时,依赖配置正确,但是类引入出现错误,一般是快照(Snapshot)依赖拉取策略问题

    问题描述 : 项目打包时,类缺少依赖,操作 pom.xml - Maven - Reload project ,还是不生效,但是同事(别人)那里正常。 问题出现的环境 : 可能项目是多模块项目,结构例如: 可能继承另一个项目(项目是快照版本),例如: 可能依赖是快照版本,例如: 问题分析 : Maven 查

    2024年01月23日
    浏览(38)
  • elasticsearch使用template搜索多个索引并且高亮返回结果

    由于搜索多个索引没办法以定义好的Entity来接收quey的结果,所以keyword搜索时不能按照以前的方式来直接分页搜索 所以这里选择重写搜索方法来自定义map返回结果,实现手动分页和替换高亮搜索的结果

    2024年02月11日
    浏览(41)
  • Redis备份方式:快照备份和AOF备份

    简介: Redis是一种高性能的开源内存数据库,为了确保数据的安全性和可靠性,提供了多种备份和持久化机制。本文将介绍Redis的两种常见备份方式:快照备份和AOF备份,并讨论如何同时使用它们以增加数据的保护。 Redis的快照备份机制允许将内存中的数据定期保存到磁盘上

    2024年02月16日
    浏览(32)
  • ES快照备份及恢复(ES数据迁移)

    目录 ES配置仓库 elasticsearch.yml 注册仓库 仓库相关操作 查看仓库 删除仓库 创建快照 快照相关操作 查询快照 删除快照 恢复快照 快照全量恢复 指定索引恢复 恢复时重命名 合并索引 索引相关操作 查询全量索引 查询索引状态 打开/关闭索引 删除索引 迁移步骤说明: 需搭建共

    2023年04月09日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包