当前位置: 首页 > news >正文

ElasticSearch 备考 -- Snapshot Restore

一、题目

备份集群下的索引 task,存储快照名称为 snapshot_1

二、思考

这个涉及的是集群的备份,主要是通过创建快照,涉及到以下2步骤

Setp1:注册一个备份 snapshot repository

Setp2:创建 snapshot

可以通过两种方式:1)执行命令行;2)kibana 图形化界面配置

三、解题

es支持多种方式,例如:亚马逊云、谷歌云存储、本地文件系统等。这里我们主要是使用本地存储。

Step 1、配置快照存储路径

注意:这里有个前提,必须在ES的配置文件中elasticSearch.yml 中配置路径 path.repo,这里不考虑多个服务器共享存储的问题。在各个节点配置完成后,需要重启节点后才能生效。

path.repo: /elasticsearch/snapshot

Step 2、创建repository

注意:

  • put请求方式
  • _snapshot后面为自定义名称
  • type 指定为 fs,代表文件系统
  • location 路径为刚刚配置的 path.repo 中的路径
PUT _snapshot/my_fs_backup
{"type": "fs","settings": {"location": "/elasticsearch/snapshot"}
}

Step 3、创建快照

主要分为两种方式:自动SLM创建 和 手工创建

(一)命令行 SLM 方式

1) 创建策略

  • schedule可以指定周期cron表达式
  • name 文件命名格式
  • repository 指定存储仓库
  • config 要备份的索引
  • retention 快照保存时间等
PUT _slm/policy/nightly-snapshots
{"schedule": "0 30 1 * * ?",       "name": "<nightly-snap-{now/d}>", "repository": "my_fs_backup",    "config": {"indices": "*",                 "include_global_state": true    },"retention": {                    "expire_after": "30d","min_count": 5,"max_count": 50}
}

2)执行策略

POST _slm/policy/nightly-snapshots/_execute

(二)命令行手工方式

  • indices 指定多个索引,多个索引通过逗号拼接,或者使用正则表达式
  • ignore_unavailable 是否忽略失败
  • metadata 备份元数据信息
PUT /_snapshot/my_fs_backup/snapshot_1?wait_for_completion=true
{"indices": "task1","ignore_unavailable": true,"include_global_state": false,"metadata": {"taken_by": "pgw","taken_because": "backup before upgrading"}
}

(三)kibana 图形化SLM方式

点击左侧菜单中的"Management"

点击子菜单中的"Snapshot and Restore",然后在右侧页面点击"create a policy"

新页面中第一步"logistics"中对Policy name、Snapshot name、Repository、schedule 进行编辑,然后点击next。

在这个第二步"Snapshot settings"中,主要参数是data streams and indeices中配置,默认是所有的索引,点击关闭按钮,可以选择需要备份的索引

在第三步"Snapshot retention"中,需要配置保留过期天数和保留文件数

第四步需要对以上配置参数进行检查确认。确认无误后点击"create policy"

创建完成后页面跳转

关闭右侧抽屉页面,在列表页可以对SLM策略进行执行、编辑和删除操作。还是需要注意policy创建完是不会自定执行的,需要我们点击执行。

在弹窗中确认run policy

Step 4、恢复快照

注意:_snapshot后面依次为注册备份仓库,快照名称

POST /_snapshot/my_fs_backup/snapshot_1/_restore

四、总结

1)快照的备份的前提准备一定要修改es配置文件,注意必须重新后才能生效

2)快照需要保存在仓库repository中

3)创建的快照方式有两种一种规则自动SLM策略,一种手动。策略SLM策略创建完别忘了执行策略。


参考资料

  • Snapshot and restore | Elasticsearch Guide [8.1] | Elastic
  • Create or update snapshot repository API | Elasticsearch Guide [8.1] | Elastic
  • Create snapshot API | Elasticsearch Guide [8.1] | Elastic
  • Restore snapshot API | Elasticsearch Guide [8.1] | Elastic

送一波福利:

福利一

有需要内推JD的同学,可以私信或留言,我帮您内推,流程快!!!

有需要内推JD的同学,可以私信或留言,我帮您内推,流程快!!!

有需要内推JD的同学,可以私信或留言,我帮您内推,流程快!!!

福利二

福利三


http://www.mrgr.cn/news/43746.html

相关文章:

  • 《浔川社团官方通报 —— 为何明确 10 月 2 日上线的浔川 AI 翻译 v3.0 再次被告知延迟上线》
  • 教育技术革新:SpringBoot在线教育系统开发
  • 【数学分析笔记】第4章第4节 复合函数求导法则及其应用(3)
  • ffmpeg面向对象——拉流协议匹配机制探索
  • CSS盒子模型
  • 自动驾驶系列—线控系统:驱动自动驾驶的核心技术解读与应用指南
  • 独孤思维:闲得蛋疼才去做副业
  • C++面试速通宝典——10
  • ICM20948 DMP代码详解(64)
  • 降低大模型幻觉的5种方案
  • IDEA基础开发配置以及和git的联动
  • Leetcode—200. 岛屿数量【中等】
  • aws(学习笔记第一课) AWS CLI,创建ec2 server以及drawio进行aws画图
  • 什么是transformer大模型,答案就在这里
  • jQuery——事件处理补充
  • Leetcode—763. 划分字母区间【中等】
  • 国外电商系统开发-运维系统执行设备属性
  • PHP如何更改要上传的文件大小的最大值
  • SpringBoot框架下的教育系统开发全解析
  • RabbitMQ 工作方式详解