【Elasticsearch】索引快照并还原到其他集群

【Elasticsearch】索引快照并还原到其他集群

前提:es节点的所有用户id和组id都需要相同,最好在新建集群时指定用户id和组id,否则挂载后执行curl时会提示权限报错。

解决方法(gpt生成),不敢在生产尝试。
点我

一、安装共享文件系统

1.启动nfs
bash 复制代码
systemctl start nfs rpcbind
2. 编辑nfs文件

vi /etc/exports

/opt/public 192.168.113.0/24(rw,no_root_squash,insecure,sync)

3. 修改共享目录用户

比如elasticsearch使用的是es用户,用户权限这里要修改为es

bash 复制代码
chown es.es /opt/public

查看状态

bash 复制代码
exportfs -rv

查看挂载源

bash 复制代码
showmount -a

二、ES配置

1.各个节点挂载共享目录到repo指定目录,这里可不重启es

我这里配置的path.repo

path.repo: /home/elasticsearch-7.9.1/repository

bash 复制代码
mount -t nfs 192.168.113.101:/opt/public /home/elasticsearch-7.9.1/repository
2. 新建存储库
bash 复制代码
curl -u elastic -H 'Content-type: application/json' -XPUT 'http://192.168.113.101:9200/_snapshot/my_fs_backup' -d '{
 "type": "fs",
 "settings": {
  "location": "my_fs_backup_location"
 }
}'
3. 新建快照("metrics_38")
bash 复制代码
curl -u elastic -H 'Content-type: application/json' -XPUT 'http://192.168.113.101:9200/_snapshot/my_fs_backup/metrics_38?wait_for_completion=true' -d '{
 "indices": "metrics_38"
}'

可以快照所有索引,使用"-"可以剔除指定的索引index1和index2

{

"indices": "*,-index1,-index2"

}

4. 查看快照状态

curl -u elastic -H 'Content-type: application/json' -XGET 'http://192.168.113.101:9200/_snapshot/my_fs_backup/metrics_38'

5. 后台查看数据

#repo.data: /home/elasticsearch-7.9.1/repository

复制代码
cd /home/elasticsearch-7.9.1/repository/my_fs_backup_location
du -sh

三、还原到其他ES集群

索引名称不能冲突。

1. 拷贝文件到path.repo目录下
2. 在其他上还原es集群上,新建存储库
复制代码
curl -H 'Content-type: application/json' -XPUT 'http://127.0.0.1:9200/_snapshot/my_fs_backup' -d '{
 "type": "fs",
 "settings": {
  "location": "my_fs_backup_location"
 }
}'
4. 还原快照,等待green
复制代码
curl -H 'Content-type: application/json' -XPOST 'http://127.0.0.1:9200/_snapshot/my_fs_backup/metrics_38/_restore' -d '{
 "indices": "metrics_38",
 "rename_pattern": "(.+)"
}'
5. 批量还原
复制代码
curl -H 'Content-type: application/json' -XPOST 'http://192.168.113.195:9200/_snapshot/my_fs_backup/metrics_38/_restore' -d '{
 "indices": "*",
 "rename_pattern": "(.+)",
  "rename_replacement": "restored-$1"
}'
相关推荐
小高学习java1 小时前
Canal、Elasticsearch、RabbitMq构建高可用、高性能的异构数据同步方案(亲测可用!!!!)
大数据·elasticsearch·rabbitmq·java-rabbitmq
_OP_CHEN1 小时前
算法基础篇:(十二)基础算法之倍增思想:从快速幂到大数据运算优化
大数据·c++·算法·acm·算法竞赛·倍增思想
武子康1 小时前
大数据-159 Apache Kylin Cube 实战:Hive 装载与预计算加速(含 Cuboid/实时 OLAP,Kylin 4.x)
大数据·后端·apache kylin
lisw052 小时前
边缘计算与云计算!
大数据·人工智能·机器学习·云计算·边缘计算
森语林溪2 小时前
数据“洪灾”变“水利”——古人“格物致知”的大数据实践
大数据
2501_941144032 小时前
边缘计算重塑数字世界:智能化时代的新型技术架构
elasticsearch
Hello.Reader2 小时前
Flink CDC 用 Db2 CDC 实时同步数据到 Elasticsearch
大数据·elasticsearch·flink
老蒋新思维3 小时前
创客匠人 2025 高峰论谈(11.22-25):AI 智能体重构创始人 IP 打造与知识变现的管理逻辑
大数据·网络·人工智能·网络协议·tcp/ip·重构·知识付费
TDengine (老段)5 小时前
TDengine 字符串函数 TO_BASE64 用户手册
android·大数据·服务器·物联网·时序数据库·tdengine·涛思数据
啊吧怪不啊吧5 小时前
算法王冠上的明珠——动态规划之斐波那契数列问题
大数据·算法·动态规划