快照备份

备份和还原的前提:在配置文件elasticsearch.yml中设置path.repo

  1. path.repo: ["D:\\elasticsearch-6.8.23\\elasticsearch-6.8.23\\snapshot_data"]

创建快照仓库

语法:

  1. PUT http://127.0.0.1:9200/_snapshot/快照仓库名

实例:创建一个名叫my_fs_backup的快照仓库

  1. PUT http://127.0.0.1:9200/_snapshot/my_fs_backup
  2. {
  3. "type": "fs",
  4. "settings": {
  5. "location": "my_fs_backup_location", // 如果使用相对路径,则根据配置文件中的path.repo中的路径下创建文件夹
  6. "compress": true // 是否启用压缩
  7. }
  8. }

查看快照仓库

  1. GET http://127.0.0.1:9200/_snapshot/快照仓库名/

删除快照仓库

  1. DELETE http://127.0.0.1:9200/_snapshot/快照仓库名/

开始快照备份

语法:

  1. PUT http://127.0.0.1:9200/_snapshot/<快照仓库名>/快照备份名
  2. ?<wait_for_completion=false|true>&ignore_unavailable=false|true?include_global_state=false|true
  3. # 快照的名称可以用这种方式,来创建名称中包含当前日期的快照,例如 snapshot-2018.05.11 :
  4. # 日志格式详见:https://www.elastic.co/guide/en/elasticsearch/reference/6.8/date-math-index-names.html
  5. # PUT /_snapshot/my_backup/<snapshot-{now/d}>
  6. # URL特殊字符要编码,上面的日志格式链接有详细说明。
  7. PUT /_snapshot/my_backup/%3Csnapshot-%7Bnow%2Fd%7D%3E
  8. wait_for_completion:是否等待快照备份完成,如果你的数据特别多会卡住很久的...
  9. ignore_unavailable 忽略不可用不存在的索引,默认为falsetrue则表示如果所有不存在,则会跳过而不是报错。
  10. include_global_state:是否包含集群全局状态信息,默认为true

实例:在my_fs_backup快照仓库中创建一个名为snapshot-1的快照,只备份completions,articles,news索引

  1. PUT http://127.0.0.1:9200/_snapshot/my_fs_backup/snapshot-1
  2. // 可以指定只备份那些索引
  3. {
  4. "indices": "completions,articles,news"
  5. }

查看快照的备份、还原情况

语法:

  1. GET http://127.0.0.1:9200/_snapshot/<快照仓库名>/<快照名,支持通配符查找多个>/
  2. # 加上_status可以获取更完整的信息
  3. GET http://127.0.0.1:9200/_snapshot/<快照仓库名>/<快照名,支持通配符查找多个>/_status

实例:查看my_fs_backup仓库下的snapshot-1快照的情况

  1. GET http://127.0.0.1:9200/_snapshot/my_fs_backup/snapshot-1/_status
  2. 返回:
  3. {
  4. "snapshots": [
  5. {
  6. "snapshot": "snapshot-1", // 快照的名称
  7. "repository": "my_fs_backup", // 快照所在的快照仓库
  8. "uuid": "98Fv_sStR-ilW114aF768g",
  9. "state": "SUCCESS", // 快照的备份状态
  10. "include_global_state": true, // 该快照是否包含集群全局状态信息
  11. "shards_stats": {
  12. "initializing": 0,
  13. "started": 0,
  14. "finalizing": 0,
  15. "done": 9,
  16. "failed": 0,
  17. "total": 9
  18. },
  19. "stats": {
  20. "incremental": {
  21. "file_count": 96,
  22. "size_in_bytes": 631455
  23. },
  24. "total": {
  25. "file_count": 96,
  26. "size_in_bytes": 631455
  27. },
  28. "start_time_in_millis": 1688029820217,
  29. "time_in_millis": 86,
  30. "number_of_files": 96,
  31. "processed_files": 96,
  32. "total_size_in_bytes": 631455,
  33. "processed_size_in_bytes": 631455
  34. },
  35. "indices": { // 快照中的每个索引信息
  36. "news": {
  37. "shards_stats": {
  38. "initializing": 0,
  39. "started": 0,
  40. "finalizing": 0,
  41. "done": 3,
  42. "failed": 0,
  43. "total": 3
  44. },
  45. "stats": {...略....}
  46. "shards": { // 所以的分片信息
  47. "0": { // 第1个分片
  48. "stage": "DONE",
  49. "stats": {
  50. "incremental": {
  51. "file_count": 4,
  52. "size_in_bytes": 3759
  53. },
  54. "total": {
  55. "file_count": 4,
  56. "size_in_bytes": 3759
  57. },
  58. "start_time_in_millis": 1688029820289,
  59. "time_in_millis": 14,
  60. "number_of_files": 4,
  61. "processed_files": 4,
  62. "total_size_in_bytes": 3759,
  63. "processed_size_in_bytes": 3759
  64. }
  65. },
  66. "1": { //第2个分片
  67. "stage": "DONE",
  68. "stats": {...略....}
  69. },
  70. "2": {
  71. "stage": "DONE",
  72. "stats": {...略....}
  73. }
  74. }
  75. }
  76. }
  77. }
  78. ]
  79. }

查看快照仓库下所有的快照

语法:

  1. GET http://127.0.0.1:9200/_snapshot/<快照仓库名>/_all

实例:

  1. {
  2. "snapshots": [
  3. {
  4. "snapshot": "snapshot-1",
  5. "uuid": "98Fv_sStR-ilW114aF768g",
  6. "version_id": 6082399,
  7. "version": "6.8.23",
  8. "indices": [
  9. "completions",
  10. "articles",
  11. "news"
  12. ],
  13. "include_global_state": true,
  14. "state": "SUCCESS",
  15. "start_time": "2023-06-29T09:10:20.185Z",
  16. "start_time_in_millis": 1688029820185,
  17. "end_time": "2023-06-29T09:10:20.310Z",
  18. "end_time_in_millis": 1688029820310,
  19. "duration_in_millis": 125,
  20. "failures": [],
  21. "shards": {
  22. "total": 9,
  23. "failed": 0,
  24. "successful": 9
  25. }
  26. },
  27. {
  28. "snapshot": "snapshot-2023.06.29",
  29. "uuid": "j_TNZ3NvT5yX-cEGogJVuQ",
  30. "version_id": 6082399,
  31. "version": "6.8.23",
  32. "indices": [
  33. "completions",
  34. "articles",
  35. "news"
  36. ],
  37. "include_global_state": true,
  38. "state": "SUCCESS",
  39. "start_time": "2023-06-29T09:28:58.952Z",
  40. "start_time_in_millis": 1688030938952,
  41. "end_time": "2023-06-29T09:28:59.033Z",
  42. "end_time_in_millis": 1688030939033,
  43. "duration_in_millis": 81,
  44. "failures": [],
  45. "shards": {
  46. "total": 9,
  47. "failed": 0,
  48. "successful": 9
  49. }
  50. }
  51. ]
  52. }

集群环境的下的快照备份

多节点集群如何配置才能实现快照?

第一:建立共享文件系统:如NFS共享,确定每一个节点挂载到指定路径,才能创建快照存储库。

第二:在所有的主节点、数据节点都要配置相同的path.repo。

快照还原

还原步骤

1、设置各个节点(集群环境的每台都要设置)elasticsearch.yml中的path.repo(如果是还原到其他es实例上,这一步要做。)

2、创建快照仓库,和备份快照一样,都需要先创建快照仓库。

3、复制备份的快照文件到快照仓库指定的文件夹下(如果是还原到其他es实例上,这里假设是没有使用ftp等共享方式的快照仓库)

4、执行还原快照的命令

  1. POST /_snapshot/<快照仓库名>/<快照名>/_restore
  2. // 还原的时候可以进行一些设置
  3. {
  4. "indices": "index_1,index_2", // 只还原指定的索引
  5. "ignore_unavailable": true, // 忽略不可用索引
  6. "include_global_state": true, // 包含es集群全局状态信息
  7. // rename_pattern 和rename_replacement用于使用正则表达式重命名索引
  8. "rename_pattern": "index_(.+)",
  9. "rename_replacement": "restored_index_$1"
  10. }

实例:

  1. POST http://127.0.0.1:9201/_snapshot/my_fs_backup/snapshot-1/_restore

停止正在运行的快照和恢复操作

  1. DELETE /_snapshot/<快照仓库名>/<快照名>

其他还原查看命令

  1. 查看还原信息
  2. GET http://127.0.0.1:9200/_recovery/
  3. 查看正在运行的快照
  4. GET /_snapshot/my_backup/_current

ElasticSearch快照备份、还原的更多相关文章

  1. elasticsearch数据备份还原

    elasticsearch数据备份还原 1.在浏览器中运行http://XXX.XXX.XXX.XXX:9200/_flush,确保索引数据能保存到硬盘中. 2.原数据的备份.主要是elasticse ...

  2. ElasticSearch快照备份及恢复

    工作步骤: 1:建立备份快照数据挂载点,即共享文件目录(Shared Filesystem): 2:建立快照仓储repository: 3:建立snapshot快照备份: 4:恢复snapshot快照 ...

  3. Mysql数据库之备份还原(mysqldump,LVM快照,select备份,xtrabackup)

    备份类型: 热备份:读写不受影响 温备份:仅可执行读备份 冷备份:离线备份,读写均不能执行,关机备份 物理备份和逻辑备份 物理备份:复制数据文件,速度快. 逻辑备份:将数据导出之文本文件中,必要时候, ...

  4. Mysql数据库备份—-通过LVM快照实现备份还原

    一.实验环境 一台测试机:A(172.18.30.1) 操作系统:Centos7 操作对象数据库版本:mariadb-10.2 二.实现目的 从A机器(172.18.30.1)简单搭建数据库,创建测试 ...

  5. 备份还原ESXi 中的虚拟机快照

    了解 ESXi 中的虚拟机快照 (1015180) Click here to view full document Symptoms 免责声明:本文是 Understanding VM snapsh ...

  6. 挖一挖MongoDB的备份与还原(实现指定时间点还原和增量备份还原)

    一  研究背景需求 目前作者所在公司的MongoDB数据库是每天凌晨做一次全库完整备份,但数据库出现故障时,只能保证恢复到全备时间点,比如,00:30 做的完整备份,而出现故障是下午18:00,那么现 ...

  7. Elasticsearch snapshot 备份的使用方法 【备忘】

    常见的数据库都会提供备份的机制,以解决在数据库无法使用的情况下,可以开启新的实例,然后通过备份来恢复数据减少损失.虽然 Elasticsearch 有良好的容灾性,但由于以下原因,其依然需要备份机制. ...

  8. (4.3)mysql备份还原——mysql备份策略

    (4.3)mysql备份还原——mysql备份策略 1.指定备份策略时需要考虑的点 [1.1]备份周期:2次备份间隔时长 [1.2]备份方式:在备份周期中,使用什么备份方式.备份模式 [1.3]实现方 ...

  9. 通过递增快照备份 Azure 非托管 VM 磁盘

    概述 Azure 存储提供创建 Blob 快照的功能. 快照将捕获该时间点的 Blob 状态. 本文介绍有关如何使用快照维护虚拟机磁盘备份的方案. 如果选择不使用 Azure 备份和恢复服务,但想要为 ...

  10. 【ELK】Elasticsearch的备份和恢复

    非原创,只是留作自己查询使用,转自http://keenwon.com/1393.html Elasticsearch的备份和恢复 备份 Elasticsearch的一大特点就是使用简单,api也比较 ...

随机推荐

  1. 从壹开始前后端开发【.Net6+Vue3】(二)前端框架

    项目名称:KeepGoing(继续前进) 介绍 工作后,学习的脚步一直停停走走,希望可以以此项目为基础,可以不断的迫使自己不断的学习以及成长 将以Girvs框架为基础,从壹开始二次开发一个前后端管理框 ...

  2. JNI动态注册以及JNI签名

    一.动态注册和静态注册 注册native方法有两种方式,动态注册和静态注册.静态注册是在编译时进行注册,而且在java中声明的native方法和c/c++中的本地方法的对应关系是恒定的:比如说在com ...

  3. apollo多环境部署

    一.环境准备 jdk : 1.8+         mysql  5.6.5+ 二.安装包下载 https://github.com/ctripcorp/apollo/releases 下载如下三个压 ...

  4. 10.0 探索API调试事件原理

    本章笔者将通过Windows平台下自带的调试API接口实现对特定进程的动态转存功能,首先简单介绍一下关于调试事件的相关信息,调试事件的建立需要依赖于DEBUG_EVENT这个特有的数据结构,该结构用于 ...

  5. QQ机器人整理合集

    QQ机器人有什么用呢? QQ机器人可以实现包括自动回复.定时推送.发送图片QQ机器人,营销圈用的比较多,可以开发各种自动功能等等.用其制作的QQ机器人程序 机器人框架+插件 小栗子机器人 官网:htt ...

  6. PostgreSQL快速导入千万条数据

    目录 一.测试环境 二.修改源数据为COPY可用的格式 三.DDL 四.COPY 五.结论 为了与MySQL做个对比,做一个PG的数据导入测试,使用COPY方式,测试环境保持一致,具体如下所述. 一. ...

  7. 打造炫酷效果:用Java优雅地制作Excel迷你图

    摘要:本文由葡萄城技术团队原创并首发.转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 前言 迷你图是一种简洁而有效的数据可视化方式,常用于展示趋势和变化.它 ...

  8. Rust学习 | Rustlings通关记录与题解

    2023年6月19日决定对rust做一个重新的梳理,整理今年4月份做完的rustlings,根据自己的理解来写一份题解,记录在此. 周折很久,因为中途经历了推免的各种麻烦事,以及选择数据库作为未来研究 ...

  9. JavaScript 语法:语法约定与程序调试

    作者:WangMin 格言:努力做好自己喜欢的每一件事 JavaScript 语法约定 1.大小写的区分 1). JavaScript的关键字,永远都是小写的: 2). 内置对象,如Math和Date ...

  10. 从GPT定制到Turbo升级再到Assistants API,未来AI世界,你准备好了吗?

    引言 在OpenAI DevDay发布会上,OpenAI再次震撼整个人工智能行业,为AI领域带来了重大的更新.CEO Sam Altman宣布推出了定制版本的ChatGPT,这意味着用户现在可以根据自 ...