Elasticsearch不仅提供了索引副本分片功能,还支持索引备份,尤其适合index索引误删或者数据丢失情况的恢复。

具体实现方式是,创建索引备份仓库→备份索引快照到仓库→查询索引备份仓库中快照列表→从备份快照中恢复索引。

三个概念:仓库(repository)、快照(snapshot)、索引(index)

为了方便理解,仓库可以理解为数据库实例,快照理解为数据库database,索引理解为表table。因此可以创建多个仓库,仓库中可以创建多个快照,快照中可以储存多个索引。不过通常只需要创建一个仓库,仓库中定时创建快照,快照储存多个索引数据即可。

如果是从云服务器厂商购买的ES服务,如:阿里云,云厂商已经实现了备份仓库功能,跳过一、二直接看下面第三部分;但如果是自己搭建的Elasticsearch,只有备份过快照仓库才能恢复数据,否则只能面对现实了。

下面从Restful请求方式和kibana可视化两种形式介绍备份的搭建:

一、创建备份仓库

首先在创建仓库前,确保elasticsearch.xml配置文件中指定一个仓库地址:

# 备份仓库位置
path.repo: /data/elasticsearch_data/es_backup

创建仓库,参数信息:

location

快照的位置。必选

compress

打开快照文件的压缩。压缩仅应用于元数据文件(索引映射和设置)。数据文件未压缩。默认为true

chunk_size

如果需要,可以在快照过程中将大文件分解为多个块。指定块尺寸的值,并且单元,例如:1GB10MB5KB500B。默认为null(无限制的块大小)。

max_restore_bytes_per_sec

每个节点的节流恢复速率。默认为40mb每秒。

max_snapshot_bytes_per_sec

每个节点的快照速率限制。默认为40mb每秒。

readonly

使存储库为只读。默认为false

以下我的参数具体为:仓库名称(backup_01)、仓库类型(fs)、仓库路径地址(/data/elasticsearch_data/es_backup)、备份速度(50mb)、恢复时的速度(50ms)

PUT _snapshot/backup_01?verify=false&pretty
{"type":"fs","settings":{"location":"/data/elasticsearch_data/es_backup","max_snapshot_bytes_per_sec":"50mb","max_restore_bytes_per_sec":"50mb"}
}

二、创建快照,备份索引

一个仓库可以包含多个快照,快照可以存多个索引、部分索引或者一个单独的索引,还可以给索引指定一个唯一的名字作为备份名。

1.将所有索引备份到快照snapshot_01中,并存储到仓库backup_01下。

PUT _snapshot/backup_01/snapshot_01

2.将指定索引index_1,index_2备份到快照snapshot_01中,并存储到仓库backup_01下。

PUT _snapshot/backup_01/snapshot_01
{"indices": "index_1,index_2"
}

3.查看仓库backup_01中所有快照

GET _snapshot/backup_01

4.查看快照snapshot_01中所有备份的索引

GET _snapshot/backup_01/snapshot_01

三、恢复数据

根据上面查到快照,确定需要恢复的索引信息后,还原恢复指定索引

1.恢复快照中所有索引

POST _snapshot/backup_01/snapshot_01/_restore

2.恢复快照中指定索引

POST _snapshot/backup_01/snapshot_01/_restore
{
"indices": "index_1"
}

另外可以在命令后面添加?wait_for_completion=true阻塞命令直到恢复完成再返回信息,恢复任务会在后台自动执行下去。

POST _snapshot/backup_01/snapshot_01/_restore?wait_for_completion=true
{
"indices": "index_1"
}

——————————————————————————————

可视化kibana操作上述流程

1.创建仓库

2.创建快照

3.创建快照策略,定时备份数据

Elasticsearch7.x索引index的备份和恢复,index索引误删恢复相关推荐

  1. Linux文件系统恢复(数据误删恢复)

    Linux文件系统恢复(数据误删恢复) 文章目录 Linux文件系统恢复(数据误删恢复) inode与block 用户通过文件名打开文件时,系统内部的过程 查看文件对应的inode号码有两种方式 用s ...

  2. linux系统文件保存后恢复,linux系统文件误删恢复

    代码被删了,好几天的心血,所以想尝试恢复一下数据.试了几个工具,最后总结一下. 先用 extundelete 用 df -T查看分区信息,挂载在/dev/sdb1上,ext4格式,觉得有希望, ima ...

  3. linux压缩文件恢复,Linux文件误删恢复

    实验要求: 对新建磁盘sdb1中删除的文件进行恢复 实验步骤: 一.安装环境包 rpm -ivh /mnt/Packages/e2fsprogs-libs-1.41.12-18.el6.x86_64. ...

  4. 2020-08-02 Mysql数据库索引初识、备份、设计原则、JDBC连接、SQL注入、PreparedStatement对象使用、事务处理、连接池

    ------------------------索引---------------------- 定义:帮助MYSQL高效获取数据的数据结构 ----------主键索引----------prima ...

  5. mongo备份索引_【MongoDB学习之四】索引 聚合 备份与恢复 监控

    环境 MongoDB 4.0 CentOS 6.5_x64 一.索引 语法 ensureIndex()方法基本语法格式如下所示: >db.COLLECTION_NAME.ensureIndex( ...

  6. Elasticsearch7.15.2 mysql8.0.26 logstash-input-jdbc 数据增量索引构建

    文章目录 一.基础软件安装 1. 安装mysql 2. Elasticsearch7.15.2 安装部署 3. kibana 安装部署 4. logstash-input-jdbc 安装部署 二.数据 ...

  7. mysql 增量备份_MySQL增量备份与恢复(增量备份概述、特点,断点恢复实操)

    一. MySQL 增量备份与恢复 使用 mysqldump 进行完全备份,备份的数据中有重复数据,备份时间与恢复时间过长.而增量备份就是自上一次备份之后增加或改变的内容. 1.1 增量备份的特点 增量 ...

  8. kibana快照存储库实现定时备份elasticsearch集群索引

    利用kibana的快照存储库备份es索引 文章目录 利用kibana的快照存储库备份es索引 1.快照存储库备份es索引 2.部署nfs存储并在es节点进行挂载 2.1.部署nfs存储 2.2.配置e ...

  9. 物理拷贝备份mysql到其他机器上恢复

    物理拷贝备份mysql到其他机器上恢复 经常会遇到mysql数据要迁徙的情况 ,逻辑导出是可以的 但是就是太慢 第三方工具也同样可以用 也是操作麻烦,最简单粗暴的方式就是直接拷贝物理文件来的最快 也很 ...

最新文章

  1. csharp为何不流行_【经营】做餐饮,算好加减法,你不赚谁赚
  2. List、Array与ArrayList
  3. emlogPHP媒体范网站主题模版 美化版v6.3.1
  4. 可视化 —— 二维平面上的散列点在坐标轴方向上的移动
  5. macOS安装过程中“应用副本已损坏”的解决方案
  6. ubuntu 常用配置
  7. freemarker 自己常用方法
  8. 实现微信小程序版本管理
  9. 开启计算机远程桌面连接不上,解决win7系统远程桌面连接已开启却无法连接的方法有哪些...
  10. oracle建索引时报ora00955 名称已由现有对象使用,关于处理ORA-00955: 名称已被现有对象占用的错误...
  11. CryEngine技术讲解
  12. 携程产品经理笔试题-2020秋招
  13. Relax与CMMI Level 4 KPA的对应关系
  14. python的基本语法、数据类型、运算符及基本操作_Python教程基础语法、变量基本使用和算术运算符...
  15. iOS 版本分布统计
  16. 如何打开ESRI ArcGIS的LPK文件(layer package)
  17. SOA(面向服务架构)是什么?
  18. Unity 点击、双击、连击、长按 事件检测(支持PC和移动端)
  19. 用mysql设计一个KTV点歌系统_java swing mysql实现的ktv点歌系统项目源码附带视频教程...
  20. 找不到localhost的网页错误怎么办?

热门文章

  1. Python基础——魔法方法(一)
  2. mysql异地灾备架构_最佳实践 数据库异地灾备
  3. Clion安装及相关环境(MinGW和OpenOCD)的配置及利用Clion点亮led灯
  4. 宝塔 cpanel_cPanel / WHM许可更改
  5. 如何实现移动端点击下拉箭头显示全部文字
  6. java背单词软件_一个JAVA写的背单词程序
  7. JavaScript原型链实现继承
  8. 【English Training】Green Economy and Trade
  9. Win系统上最好用的epub阅读器
  10. 请按照以下要求设计一个学生类Student,并进行测试,要求如下: