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

相关推荐
zhixingheyi_tian3 小时前
Spark 之 Aggregate
大数据·分布式·spark
PersistJiao3 小时前
Spark 分布式计算中网络传输和序列化的关系(一)
大数据·网络·spark
宅小海5 小时前
scala String
大数据·开发语言·scala
小白的白是白痴的白6 小时前
11.17 Scala练习:梦想清单管理
大数据
java1234_小锋6 小时前
Elasticsearch是如何实现Master选举的?
大数据·elasticsearch·搜索引擎
Java 第一深情10 小时前
零基础入门Flink,掌握基本使用方法
大数据·flink·实时计算
MXsoft61810 小时前
华为服务器(iBMC)硬件监控指标解读
大数据·运维·数据库
PersistJiao11 小时前
Spark 分布式计算中网络传输和序列化的关系(二)
大数据·网络·spark·序列化·分布式计算
九河云11 小时前
如何对AWS进行节省
大数据·云计算·aws
FreeIPCC12 小时前
谈一下开源生态对 AI人工智能大模型的促进作用
大数据·人工智能·机器人·开源