ElasticSearch快照备份与还原

ElasticSearch快照备份与还原

1.备份和还原机器上的共同操作

++注意:一定要在原始集群和要迁移的集群上都运行++

1.1创建备份还原目录

这里放到/opt/backup_es目录下

bash 复制代码
cd /opt
mkdir backup_es
#为了避免权限问题,直接修改该文件夹权限为777
chmod 777 /opt/backup_es

1.2 注册备份还原目录

修改elasticsearch.yml

添加如下配置(如果是集群,则每一个数据节点都得配置)

bash 复制代码
path.repo: /data/backup
bash 复制代码
path.repo:['/opt/backup_es']

重启elasticsearch

注册备份还原仓库(仓库名称为my_backup)

bash 复制代码
PUT http://地址:9200/_snapshot/my_backup/

参数为

bash 复制代码
{
 "type": "fs",
 "settings": {
 "location": "/opt/backup_es",
 "max_snapshot_bytes_per_sec" : "50mb",
 "max_restore_bytes_per_sec" : "50mb",
 "compress" : true
 }
}

这里执行完之后没有任何变化

参数说明:
复制代码
location:指定快照的存储位置,必须有
compress:指定是否对快照文件进行压缩,默认是ture
max_snapshot_bytes_per_sec:每个节点做快照的最高速度限制。默认是 20mb/s
max_restore_bytes_per_sec:每个节点恢复数据的最高速度限制. 默认是 20mb/s

2.备份数据

在my_backup仓库下备份数据,备份的名字自己设定(此处我的设定为tyyw_sjyy)

复制代码
PUT http://地址:9200/_snapshot/my_backup/tyyw_sjyy

备份完数据后就会在/opt/backup_es目录下生成备份的元数据

在执行上面一条请求时,还可在请求体中添加以下参数来发送请求

参数说明:
复制代码
indices:指定快照包含的索引 格式为"indices": "index_1,index_2"
ignore_unavailable:把这个选项设置为 true 的时候在创建快照的过程中会忽略不存在的索引。默认情况下, 如果没有设置 ignore_unavailable 在索引不存在的情况下快照请求将会失败 格式为"ignore_unavailable": "true"
include_global_state:通过设置 include_global_state 为false 能够防止 集群的全局状态被作为快照的一部分存储起来。
partial:默认情况下,如果快照中的1个或多个索引不是全部主分片都可用会导致整个创建快照的过 程失败。 通过设置 partial 为 true 可以改变这个行为。

查看备份状态

复制代码
GET http://地址:9200/_snapshot/my_backup/tyyw_sjyy

3.还原数据

将备份机器上的/opt/backup_es目录下的元数据拷贝到要还原的目标机器的备份还原目录下

在需要还原的机器上执行POST请求

复制代码
POST http://地址:9200/_snapshot/my_backup/tyyw_sjyy/_restore

需要注意的是执行上面一条请求的时候,默认是将备份机器上的全部索引都还原到目标机器上,如果只是想

备份部分索引的话,可以在请求体加上下面的参数

复制代码
{    "indices":"index1,index2...indexN"}

参数说明:

复制代码
rename_pattern 和 rename_replacement 选项可以在恢复的时候使用正则表达式来重命名index.例如:
"rename_pattern": "index(.+)",
"rename_replacement": "restored_index$1"

参考网址:
https://www.elastic.co/guide/en/elasticsearch/reference/6.8/modules-snapshots.html#_snapshot

https://blog.csdn.net/qq_35623773/article/details/84331469

https://blog.csdn.net/frankcheng5143/article/details/95168300

相关推荐
renhongxia1几秒前
从内部进行大型语言模型安全
大数据·人工智能·安全·语言模型·自然语言处理·逻辑回归
源码之家3 分钟前
计算机毕业设计:Python股票数据分析与ARIMA预测系统 Flask框架 ARIMA 数据分析 可视化 大数据 大模型(建议收藏)✅
大数据·python·数据挖掘·数据分析·django·flask·课程设计
JoyCong19984 分钟前
告别频繁输入密码!ToDesk自动解锁功能,实现远程办公“无感”连接
大数据·linux·服务器·网络·电脑·远程操作
Y学院10 分钟前
AI原生研发爆发,Agent重构软件产业新范式
大数据·人工智能
Cyber4K13 分钟前
【DevOps专项】GitLab 与 Jenkins 介绍及部署持续集成环境
运维·ci/cd·gitlab·jenkins·devops
终端行者18 分钟前
Jenkins流水线添加企业微信或者钉钉通知 pipeline 如何通过企微/钉钉通知
ci/cd·jenkins·钉钉·企业微信
北冥有羽Victoria19 分钟前
Django Auth组件完整版教程:从原理到项目落地
大数据·服务器·数据库·后端·python·django·sqlite
lifewange19 分钟前
Hadoop 完整入门详解
大数据·hadoop·分布式
Irene199120 分钟前
Oracle 21c XE 大数据开发常用 SQL 语法总结(不同 Oracle 版本,sql 语法大部分通用)
大数据·sql·oracle
郝开20 分钟前
Docker Compose 本地环境搭建:elasticsearch
elasticsearch·docker·jenkins