elasticsearch数据备份恢复
发表于:2025-02-03 作者:千家信息网编辑
千家信息网最后更新 2025年02月03日,本文主要介绍elasticsearch集群数据备份及恢复,利用共享文件系统,通过快照方式备份。集群的部署参考:http://hnr520.blog.51cto.com/4484939/1876467一
千家信息网最后更新 2025年02月03日elasticsearch数据备份恢复
本文主要介绍elasticsearch集群数据备份及恢复,利用共享文件系统,通过快照方式备份。
集群的部署参考:http://hnr520.blog.51cto.com/4484939/1876467
一、配置修改
1.配置文件必须添加如下参数
path.repo: /mnt/backups/es_mybak
二、数据备份
1.创建备份仓库
curl -XPUT 'http://192.168.115.11:9200/_snapshot/EsBackup' -d '{ "type": "fs","settings": { "location": "/mnt/backups/es_mybak" }}'[root@node1 local]# curl -XPUT 'http://192.168.115.11:9200/_snapshot/EsBackup' -d '{> "type": "fs",> "settings": {> "location": "/mnt/backups/es_mybak"> }> }'{"acknowledged":true}
给我们的仓库取一个名字,在本例它叫 EsBackup 。
我们指定仓库的类型应该是一个共享文件系统,这里采用nfs。
最后,我们提供一个已挂载的设备(/mnt/backups/es_mybak )作为目的地址。
注意:共享文件系统路径必须确保集群所有节点都可以访问到。
2.查询备份仓库
[root@node1 local]# curl -XGET 'http://192.168.115.11:9200/_snapshot?pretty'{ "EsBackup" : { "type" : "fs", "settings" : { "location" : "/mnt/backups/es_mybak" } }}
3.备份所有索引
curl -XPUT 'http://192.168.115.11:9200/_snapshot/EsBackup/snapshot_all'[root@node1 local]# curl -XPUT 'http://192.168.115.11:9200/_snapshot/EsBackup/snapshot_all'{"accepted":true}
4.查看备份快照
curl -XGET 'http://192.168.115.11:9200/_snapshot/EsBackup/snapshot_all?pretty'[root@node1 elasticsearch6]# curl -XGET 'http://192.168.115.11:9200/_snapshot/EsBackup/snapshot_*?pretty' { "snapshots" : [ { "snapshot" : "snapshot_all", "uuid" : "MRTYocxBT4qgwtpu_6jdpg", "version_id" : 5000199, "version" : "5.0.1", "indices" : [ "els_student_hnr05", "hnrtest", "els_student_hnr03", "els_student", "els_student_hnr02", "els_student_hnr04", "els_python01", "els_student_hnr01" ], "state" : "SUCCESS", "start_time" : "2017-05-17T10:00:46.860Z", "start_time_in_millis" : 1495015246860, "end_time" : "2017-05-17T10:00:54.209Z", "end_time_in_millis" : 1495015254209, "duration_in_millis" : 7349, "failures" : [ ], "shards" : { "total" : 40, "failed" : 0, "successful" : 40 } } ]}
5.备份部分索引
curl -XPUT 'http://192.168.115.11:9200/_snapshot/EsBackup/snapshot_els_student_hnr05' -d '{ "indices": "els_student_hnr05" }'[root@node1 elasticsearch6]# curl -XPUT 'http://192.168.115.11:9200/_snapshot/EsBackup/snapshot_els_student_hnr05' -d '{ "indices": "els_student_hnr05" }'{"accepted":true}
6.查看备份快照
curl -XGET 'http://192.168.115.11:9200/_snapshot/EsBackup/snapshot_els_student_hnr05?pretty'查看快照的详细信息,可以看到每个shard的信息curl -XGET 'http://192.168.115.11:9200/_snapshot/EsBackup/snapshot_els_student_hnr05/_status?pretty'[root@node1 elasticsearch6]# curl -XGET 'http://192.168.115.11:9200/_snapshot/EsBackup/snapshot_els_student_hnr05?pretty' { "snapshots" : [ { "snapshot" : "snapshot_els_student_hnr05", "uuid" : "hsSkWa63Ss6MJjh0Eo4arA", "version_id" : 5000199, "version" : "5.0.1", "indices" : [ "els_student_hnr05" ], "state" : "SUCCESS", "start_time" : "2017-05-18T00:58:35.699Z", "start_time_in_millis" : 1495069115699, "end_time" : "2017-05-18T00:58:36.396Z", "end_time_in_millis" : 1495069116396, "duration_in_millis" : 697, "failures" : [ ], "shards" : { "total" : 5, "failed" : 0, "successful" : 5 } } ]}
三、.部分索引数据恢复
1.查询索引
curl -XGET '192.168.115.11:9200/_cat/indices?v'health status index uuid pri rep docs.count docs.deleted store.size pri.store.sizegreen open els_student_hnr05 mkvmTguZS4m1wGKbB8TOEw 5 1 99 0 124.7kb 62.3kbgreen open hnrtest Y-bjuEPLQTGGP88EafDlyg 5 1 0 0 1.5kb 795bgreen open els_student_hnr03 _UHB6P-fRfucH7lEyE-C7g 5 1 99 0 146.7kb 73.3kbgreen open els_student JC69IBEjTji8jU6bxCDE3A 5 1 999 0 495.9kb 247.9kbgreen open els_student_hnr02 k-aLl7tzRUyRfwJs8O0-kA 5 1 99 0 109.8kb 54.9kbgreen open els_student_hnr04 zAkj7GvfQ-CqmuFMJUTSuA 5 1 99 0 162.8kb 81.4kbgreen open els_python01 wmdREADVQmCX773_JDL46Q 5 1 0 0 1.5kb 795bgreen open els_student_hnr01 BJlcIp7mS0ii9nDYj8UDyQ 5 1 100 0 109.2kb 54.6kb
2.删除索引els_student_hnr05
[root@node1 elasticsearch6]# curl -XDELETE 'http://192.168.115.11:9200/els_student_hnr05'{"acknowledged":true}
3.根据snapshot_els_student_hnr05快照恢复索引
curl -XPOST 'http://192.168.115.11:9200/_snapshot/EsBackup/snapshot_els_student_hnr05/_restore'[root@node1 elasticsearch6]# curl -XPOST 'http://192.168.115.11:9200/_snapshot/EsBackup/snapshot_els_student_hnr05/_restore'{"accepted":true}
4.再次查看索引
[root@node1 elasticsearch6]# curl -XGET '192.168.115.11:9200/_cat/indices?v'health status index uuid pri rep docs.count docs.deleted store.size pri.store.sizegreen open hnrtest Y-bjuEPLQTGGP88EafDlyg 5 1 0 0 1.5kb 795bgreen open els_student_hnr05 S3AsHa4dRtuXXZ3uIDGvuQ 5 1 99 0 124.7kb 62.3kb
被删除的索引els_student_hnr05已经恢复回来
四、数据完全恢复
1.关闭所有节点,删除数据目录下的所有数据,重新启动集群
kill -9 $(ps -ef | grep -v grep | grep elasticsearch | awk '{print $2}')
2.重新启动集群
3.创建备份仓库
curl -XPUT 'http://192.168.115.11:9200/_snapshot/EsBackup' -d '{"type": "fs","settings": { "location": "/mnt/backups/es_mybak" }}'
4.查看备份快照
curl -XGET 'http://192.168.115.11:9200/_snapshot/EsBackup/snapshot_*?pretty'{ "snapshots" : [ { "snapshot" : "snapshot_all", "uuid" : "MRTYocxBT4qgwtpu_6jdpg", "version_id" : 5000199, "version" : "5.0.1", "indices" : [ "els_student_hnr05", "hnrtest", "els_student_hnr03", "els_student", "els_student_hnr02", "els_student_hnr04", "els_python01", "els_student_hnr01" ], "state" : "SUCCESS", "start_time" : "2017-05-17T10:00:46.860Z", "start_time_in_millis" : 1495015246860, "end_time" : "2017-05-17T10:00:54.209Z", "end_time_in_millis" : 1495015254209, "duration_in_millis" : 7349, "failures" : [ ], "shards" : { "total" : 40, "failed" : 0, "successful" : 40 } }, { "snapshot" : "snapshot_els_student_hnr05", "uuid" : "hsSkWa63Ss6MJjh0Eo4arA", "version_id" : 5000199, "version" : "5.0.1", "indices" : [ "els_student_hnr05" ], "state" : "SUCCESS", "start_time" : "2017-05-18T00:58:35.699Z", "start_time_in_millis" : 1495069115699, "end_time" : "2017-05-18T00:58:36.396Z", "end_time_in_millis" : 1495069116396, "duration_in_millis" : 697, "failures" : [ ], "shards" : { "total" : 5, "failed" : 0, "successful" : 5 } } ]}
5.恢复数据
curl -XPOST 'http://192.168.115.11:9200/_snapshot/EsBackup/snapshot_all/_restore'
6.查询索引
[root@node1 elasticsearch6]# curl -XGET '192.168.115.11:9200/_cat/indices?v'health status index uuid pri rep docs.count docs.deleted store.size pri.store.sizegreen open hnrtest LNkwevA2Sr2Jgue1oLRIGA 5 1 0 0 1.5kb 795bgreen open els_student 6aE8M7KMRN2EdievhDBXcw 5 1 999 0 495.9kb 247.9kbgreen open els_student_hnr04 8hXeVjXYRhS5POdy3hnMuQ 5 1 99 0 162.8kb 81.4kbgreen open els_student_hnr01 afVLqgxpTqii6pNObLC2sA 5 1 100 0 109.2kb 54.6kbgreen open els_student_hnr05 jzHPY_TlSEm-ZEXWz0sz4Q 5 1 99 0 124.7kb 62.3kbgreen open els_student_hnr02 f3hqeM1pQkWttZifnCCQDQ 5 1 99 0 109.8kb 54.9kbgreen open els_python01 4_vFwhn0RCi3SZbz2bORCw 5 1 0 0 1.5kb 795bgreen open els_student_hnr03 esFyZMwwTaeLf7YrKxyYjQ 5 1 99 0 146.7kb 73.3kb至此所有索引已经完全恢复
五、从全部索引快照中恢复单个索引
1.删除索引els_student_hnr05
curl -XDELETE 'http://192.168.115.11:9200/els_student_hnr05'
2.恢复被删除的索引els_student_hnr05
curl -XPOST 'http://192.168.115.11:9200/_snapshot/EsBackup/snapshot_all/_restore' -d '{ "indices": "els_student_hnr05", "rename_replacement": "restored_index_$1"}'
六、删除快照
curl -XDELETE 'http://192.168.115.11:9200/_snapshot/EsBackup/snapshot_els_student_hnr05'curl -XDELETE 'http://192.168.115.11:9200/_snapshot/EsBackup/snapshot_all'
索引
备份
快照
数据
仓库
集群
文件
系统
查询
数据备份
信息
节点
部分
配置
再次
单个
参数
名字
地址
数据恢复
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
只狼取消进入服务器
公安部网络安全专业大学
数据库宏的生成表达式
没有网络安全制度
岚图软件开发岗
申唐网络技术
欧洲5g网络安全吗
网络安全计算机安全
中华文化海外传播数据库
sgi 服务器
wifi重置后服务器无法响应
深圳市雄宇网络技术
正反转传感器软件开发
网络安全如何部署防护设备
yii2 获取数据库报错
数据库监控硬件
服务器设备怎么和运营商连接
fifamobile数据库
数据库主动升级
北极星网络安全公司
北京赢桥软件开发有限公司
华为服务器装win7开机蓝屏
数据库软件做一个计算器表单
服务器主板不能随便装系统吗
数据库之间insert工具
广州X一互联网科技有限公司
中职生网络安全大赛视频
华为服务器与手机芯片哪个好
四川公安局网络安全报警
哪里购买服务器