elasticsearch数据备份恢复
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,本文主要介绍elasticsearch集群数据备份及恢复,利用共享文件系统,通过快照方式备份。集群的部署参考:http://hnr520.blog.51cto.com/4484939/1876467一
千家信息网最后更新 2026年11月02日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安全错误
数据库的锁怎样保障安全
互联网科技工作委员会
互联网科技产业
互联网的科技
深圳恒合互联网络科技有限公司
互联网是不是新科技
互联网扶贫科技
互联网科技未来
合肥互联网科技公司
奇酷互联网科技
科技创新互联网企业
深圳期待互联网科技
互联网科技股午盘股票涨跌
北京三清互联网科技
互联网金融中的现代科技
赶超互联网科技 微信多开
互联网科技大奖都有哪些公司
迪庆互联网科技招生
伊宁互联网科技做什么的
互联网相关科技技术
北京军民互联网科技公司
新浪科技互联网
广西互联网科技公司
山东吉时兔互联网科技有限公司
中国最先进互联网科技公司
重庆威客帮互联网科技
青岛科技大学互联网大赛研究生
江阴互联网智能科技产品进口
科技互联网海报
易企秀互联网科技是做什么的
科技和互联网行业的特点