ElasticSearch 备考 -- 备份和恢复

一、题目

备份集群下的索引 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策略创建完别忘了执行策略。

参考资料

送一波福利:

福利一

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

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

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

福利二

福利三

相关推荐
知识分享小能手19 小时前
React学习教程,从入门到精通, React 属性(Props)语法知识点与案例详解(14)
前端·javascript·vue.js·学习·react.js·vue·react
qq_5088234020 小时前
金融量化指标--2Alpha 阿尔法
大数据·人工智能
好家伙VCC1 天前
数学建模模型 全网最全 数学建模常见算法汇总 含代码分析讲解
大数据·嵌入式硬件·算法·数学建模
茯苓gao1 天前
STM32G4 速度环开环,电流环闭环 IF模式建模
笔记·stm32·单片机·嵌入式硬件·学习
是誰萆微了承諾1 天前
【golang学习笔记 gin 】1.2 redis 的使用
笔记·学习·golang
DKPT1 天前
Java内存区域与内存溢出
java·开发语言·jvm·笔记·学习
aaaweiaaaaaa1 天前
HTML和CSS学习
前端·css·学习·html
看海天一色听风起雨落1 天前
Python学习之装饰器
开发语言·python·学习
tan180°1 天前
Boost搜索引擎 网络库与前端(4)
linux·网络·c++·搜索引擎
2301_781668611 天前
Elasticsearch 02
大数据·elasticsearch·搜索引擎