快照备份

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

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

创建快照仓库

语法:

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

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

PUT http://127.0.0.1:9200/_snapshot/my_fs_backup

{
"type": "fs",
"settings": {
"location": "my_fs_backup_location", // 如果使用相对路径,则根据配置文件中的path.repo中的路径下创建文件夹
"compress": true // 是否启用压缩
}
}

查看快照仓库

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

删除快照仓库

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

开始快照备份

语法:

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

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

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

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

语法:

GET http://127.0.0.1:9200/_snapshot/<快照仓库名>/<快照名,支持通配符查找多个>/

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

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

GET http://127.0.0.1:9200/_snapshot/my_fs_backup/snapshot-1/_status

返回:
{
"snapshots": [
{
"snapshot": "snapshot-1", // 快照的名称
"repository": "my_fs_backup", // 快照所在的快照仓库
"uuid": "98Fv_sStR-ilW114aF768g",
"state": "SUCCESS", // 快照的备份状态
"include_global_state": true, // 该快照是否包含集群全局状态信息
"shards_stats": {
"initializing": 0,
"started": 0,
"finalizing": 0,
"done": 9,
"failed": 0,
"total": 9
},
"stats": {
"incremental": {
"file_count": 96,
"size_in_bytes": 631455
},
"total": {
"file_count": 96,
"size_in_bytes": 631455
},
"start_time_in_millis": 1688029820217,
"time_in_millis": 86,
"number_of_files": 96,
"processed_files": 96,
"total_size_in_bytes": 631455,
"processed_size_in_bytes": 631455
},
"indices": { // 快照中的每个索引信息
"news": {
"shards_stats": {
"initializing": 0,
"started": 0,
"finalizing": 0,
"done": 3,
"failed": 0,
"total": 3
},
"stats": {...略....}
"shards": { // 所以的分片信息
"0": { // 第1个分片
"stage": "DONE",
"stats": {
"incremental": {
"file_count": 4,
"size_in_bytes": 3759
},
"total": {
"file_count": 4,
"size_in_bytes": 3759
},
"start_time_in_millis": 1688029820289,
"time_in_millis": 14,
"number_of_files": 4,
"processed_files": 4,
"total_size_in_bytes": 3759,
"processed_size_in_bytes": 3759
}
},
"1": { //第2个分片
"stage": "DONE",
"stats": {...略....}
},
"2": {
"stage": "DONE",
"stats": {...略....}
}
}
}
}
}
]
}

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

语法:

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

实例:

{
"snapshots": [
{
"snapshot": "snapshot-1",
"uuid": "98Fv_sStR-ilW114aF768g",
"version_id": 6082399,
"version": "6.8.23",
"indices": [
"completions",
"articles",
"news"
],
"include_global_state": true,
"state": "SUCCESS",
"start_time": "2023-06-29T09:10:20.185Z",
"start_time_in_millis": 1688029820185,
"end_time": "2023-06-29T09:10:20.310Z",
"end_time_in_millis": 1688029820310,
"duration_in_millis": 125,
"failures": [],
"shards": {
"total": 9,
"failed": 0,
"successful": 9
}
},
{
"snapshot": "snapshot-2023.06.29",
"uuid": "j_TNZ3NvT5yX-cEGogJVuQ",
"version_id": 6082399,
"version": "6.8.23",
"indices": [
"completions",
"articles",
"news"
],
"include_global_state": true,
"state": "SUCCESS",
"start_time": "2023-06-29T09:28:58.952Z",
"start_time_in_millis": 1688030938952,
"end_time": "2023-06-29T09:28:59.033Z",
"end_time_in_millis": 1688030939033,
"duration_in_millis": 81,
"failures": [],
"shards": {
"total": 9,
"failed": 0,
"successful": 9
}
}
]
}

集群环境的下的快照备份

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

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

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

快照还原

还原步骤

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

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

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

4、执行还原快照的命令

POST /_snapshot/<快照仓库名>/<快照名>/_restore

// 还原的时候可以进行一些设置
{
"indices": "index_1,index_2", // 只还原指定的索引
"ignore_unavailable": true, // 忽略不可用索引
"include_global_state": true, // 包含es集群全局状态信息
// rename_pattern 和rename_replacement用于使用正则表达式重命名索引
"rename_pattern": "index_(.+)",
"rename_replacement": "restored_index_$1"
}

实例:

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

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

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

其他还原查看命令

查看还原信息
GET http://127.0.0.1:9200/_recovery/ 查看正在运行的快照
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. mall :hutool项目源码解析

    目录 一.mall开源项目 1.1 来源 1.2 项目转移 1.3 项目克隆 二.Hutool工具类库 2.1 Hutool 简介 三.源码解析 3.1 集成与配置 3.1.1 导入依赖 3.1.2 ...

  2. [Python] 今天开始学习Python3了, 纪念一下

    #! /usr/bin/env python3 import time print("你好, 请告诉我你的名字.") name = input("名前: ") ...

  3. 提取protobuf定义文件结构

    先安装protobuf的js支持包 npm install protobufjs test.proto文件如下所示 syntax = "proto3"; package Test; ...

  4. Solution -「THUPC 2019」Duckchess

    Description Link. 大模拟是不可能给你概括题意的. Solution (据说鸭棋题解用这个标题很吉利)(这里是被点名批评的 长度 19k 的打法)(先说好代码里 Chinglish 满 ...

  5. Spring Boot 目录遍历--表达式注入--代码执行--(CVE-2021-21234)&&(CVE-2022-22963)&&(CVE-2022-22947)&&(CVE-2022-2296)

    Spring Boot 目录遍历--表达式注入--代码执行--(CVE-2021-21234)&&(CVE-2022-22963)&&(CVE-2022-22947)& ...

  6. 记录一次gcc的编译

    在deepin23上编译gcc13.2 deepin20素以软件版本过老被人诟病,换成最新的deepin23之后情况大有好转,但是gcc版本为11.2,鄙人对此仍有意见,所以特意研究了如何编译一份较新 ...

  7. 前端三件套系例之CSS——CSS3基础样式

    文章目录 1.宽和高 案例 2.字体属性 2-1 文字字体 2-2 字体大小 2-3 字重(粗细) 2-4 文本颜色 2-5 总结 2-6 案例 文字属性 3-1 文字对齐 3-2 文字装饰 3-3 ...

  8. Python基础——二分法、面向过程编程思想、有名函数、lambda、max、_min的应用、sorted排序、map的应用、filter的应用、reduce的应用

    文章目录 内容回顾 二分法 伪代码模板 面向过程编程思想 函数式 def用于定义有名函数 lambda用于定义匿名函数 调用匿名函数 匿名函数作用 匿名函数的示范 max的应用 min的应用 sort ...

  9. gitbook在线记事本

    https://app.gitbook.com/ About this template: An Internal Wiki to lay out everything anyone needs to ...

  10. 若依(ruoyi)开源系统-多数据源问题踩坑实录

    内容概要 上一节内容   介绍了用开源系统若依(ruoyi)搭建页面的过程.在实际项目中,经常遇到多数据源后者主从库的情况.本节记录若依多数据源配置过程中遇到的问题排查过程. 背景描述 1.上一节在r ...