快照备份

备份和还原的前提:在配置文件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. IDEA 配置桌面快捷方式

    IDEA 配置桌面快捷方式 目录 IDEA 配置桌面快捷方式 1.下载idea.tar解压 2.配置快捷方式 3.为什么要存放在这个目录? 1.下载idea.tar解压 tar xf ideaIC-2 ...

  2. Burp Suite Extension Development Guide

    Burp Suite是什么? Burp Suite是一款Web应用程序渗透测试工具,可以帮助用户发现和利用Web应用程序中的漏洞,提高渗透测试的效率和精度. Web应用程序最常用的传输数据的协议就是H ...

  3. Solution Set -「CF 1514」

    「CF 1514A」Perfectly Imperfect Array Link. 就看序列中是否存在不为平方数的元素即可. #include<bits/stdc++.h> using n ...

  4. android 反编译 apk 分享 smali2java 1.0.0.558

    smali2java 1.0.0.558 smali2java是一个将smali代码反编译成java代码的工具. 什么是smali?smali是将Android字节码用可阅读的字符串形式表现出来的一种 ...

  5. 手敲,Ascend算子开发入门笔记分享

    本文分享自华为云社区<Ascend算子开发入门笔记>,作者: JeffDing . 基础概念 什么是Ascend C Ascend C是CANN针对算子开发场景推出的编程语言,原生支持C和 ...

  6. 畅捷通T+任意文件上传(CNVD-2022-60632 )漏洞复现

    一.漏洞描述 022年8月29日和8月30日,畅捷通公司紧急发布安全补丁修复了畅捷通T+软件任意文件上传漏洞.未经身份认证的攻击者利用该漏洞,通过绕过系统鉴权,在特定配置环境下实现任意文件的上传,从而 ...

  7. windows系统和IE的兼容性问题

    IE浏览器用户正在逐步减少,但是以前的基数较大,为了解决win和ie的版本混乱问题,特记录一下:      一.从操作系统角度出发: XP最高支持到IE8,XP支持ie6,ie7,ie8 WIN7自带 ...

  8. nginx配置解决跨域访问

    场景:前后的分离项目,前端vue框架,打包后放在Tomcat里访问,端口是8080,后端服务端口8058.访问前端项目时,调用后端接口报跨域. 后端环境 正常访问端口8058 经过nginx配置(文末 ...

  9. 入门篇-其之六-Java运算符(中)

    祝所有程序员,1024节日快乐!!! 一.自增/自减运算符 假设有一个变量intValue的值为10,如果想让这个值加1,有哪些方式? 首先,我们可以使用最原始的方式: int intValue = ...

  10. vite介绍

    什么是 Vite 借用作者的原话: Vite,一个基于浏览器原生 ES imports 的开发服务器.利用浏览器去解析 imports,在服务器端按需编译返回,完全跳过了打包这个概念,服务器随起随用. ...