首页 > 其他分享 >ElasticSearch 备考 -- 备份和恢复

ElasticSearch 备考 -- 备份和恢复

时间:2024-09-29 23:49:55浏览次数:15  
标签:fs 快照 repository -- 创建 备份 备考 ElasticSearch snapshot

一、题目

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

二、思考

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

Setp1:注册一个备份 snapshot repository

Setp2:创建 snapshot

三、解题

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创建 和 手工创建

1)SLM 方式创建

  • 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)手工方式创建

  • 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"
  }
}

Step 4、恢复快照

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

POST /_snapshot/my_fs_backup/snapshot_1/_restore

四、总结

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

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

3)创建的快照方式有两种一种规则自动SLM,一种手动


参考资料

送一波福利:

福利一

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

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

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

福利二

福利三

标签:fs,快照,repository,--,创建,备份,备考,ElasticSearch,snapshot
From: https://blog.csdn.net/hengzhepa/article/details/142444348

相关文章

  • Redis
    目录集群哨兵模式工作原理:三大常见问题缓存穿透解决方案:缓存击穿解决方案:缓存雪崩解决方案:集群由多个Redis节点组成,提供更高的性能、可用性和可扩展性。采用hash槽分片的方式,将数据分布到不同的节点上,每个节点负责存储一部分数据,并通过集群中的元数据来管理这......
  • C++ struct和class的异同、C中和C++中struct的异同
    一、前言C++中的struct结构体和C语言中的struct结构体差异较大。C++中的struct结构体和C++中的class类极为相似。二、C++的struct和class1.相同点      (1)成员     struct和class都可以在主体中定义成员变量和成员函数!两者在定义成员变量和成员函数上......
  • 【二等奖论文】2024年华为杯研究生数学建模E题成品论文获取入口
    您的点赞收藏是我继续更新的最大动力!一定要点击如下的卡片链接,那是获取资料的入口! 【全网最全】2024年华为杯研赛E题保奖思路+matlab/py代码+成品论文等(后续会更新完整点击链接获取【2024华为杯研赛资料汇总】:https://qm.qq.com/q/Wgk64ntZCihttps://qm.qq.com/q/Wgk64n......