千家信息网

elasticsearch数据备份恢复

发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,本文主要介绍elasticsearch集群数据备份及恢复,利用共享文件系统,通过快照方式备份。集群的部署参考:http://hnr520.blog.51cto.com/4484939/1876467一
千家信息网最后更新 2025年12月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安全错误 数据库的锁怎样保障安全 深圳市加速度软件开发 水果优仔网络技术 西安铁成网络技术 导出linux服务器配置 对网络技术教育的理解 数据库课后习题答案详细下载 云服务器开网页后台不自动采集 数据库一张表有几个主键 数据库语句为什么要用大写 服务器8点左右自动关机 网络安全产业发展的方向 环球网络技术有限公司官网 哪个数据库可以检索年鉴资料 软件开发维修 怎样查看sql数据库项目名称 云服务器搭建管理系统 关于网络安全的知识演讲稿 服务器指的是在网络环境中 七个一流网络安全学院 mc服务器管理员隐身指令 网络技术挑战赛准备 重庆巫溪网上生鲜软件开发 mssql数据库文件 客户机 服务器的英文写法 昆明通信网络技术有限公司 2017国家网络安全主题 港版华为手机谷歌服务器 学校软件开发及存储管理合同 关于网络安全的知识演讲稿 软件开发会用到什么
0