快照备份

备份和还原的前提:在配置文件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. jQuery获取select选中值的文本

    实际代码:var checkUserSelect=$("#checkUserSelect option:selected").text();//执法人员姓名 jQuery中获得选中 ...

  2. 搭建企业知识库:基于 Wiki.js 的实践指南

    一.简介 在当今知识经济时代,企业知识库的建设变得越来越重要.它不仅有助于企业知识的沉淀和共享,还能提升员工的工作效率,促进企业的创新发展.企业知识库是企业中形成结构化文档,共享知识的集群,可以促进企 ...

  3. Mac m2使用实现微信小程序抓包

    Mac m2使用实现微信小程序抓包 最近换了MacBook Pro,芯片是M2 Pro,很多东西跟windows是不一样的,所以重新配置相应环境,这里介绍一下微信小程序抓包的方法. 使用burp+pr ...

  4. 记一次 Redisson 线上问题 → ERR unknown command 'WAIT' 的排查与分析

    开心一刻 昨晚和一个朋友聊天 我:处对象吗,咱俩试试? 朋友:我有对象 我:我不信,有对象不公开? 朋友:不好公开,我当的小三 问题背景 程序在生产环境稳定的跑着 直到有一天,公司执行组件漏洞扫描,有 ...

  5. Android 编译介绍

    一.需求 Android的源码非常的庞大,编译Android系统往往会占用我们很长的时间,我们需要了解下Android的编译规则,以期能提高我们的开发效率,达到程序员按时下班的伟大理想. 二.环境 平 ...

  6. Microsoft Build 2021第二天

    C++20 Ranges are complete in Visual Studio 2019 version 16.10 https://devblogs.microsoft.com/cppblog ...

  7. 斜率优化DP 学习笔记

    斜率优化 DP 适用情况 适用于求解最优解(最大.最小)问题. 上凸壳与下凸壳 求解步骤 对于任意状态转义方程,设 \(A_i\),\(B_i\),使状态转移方程转化为 \(f_i = \min(f_ ...

  8. Linux升级至glibc-2.14步骤

    Linux升级至glibc-2.14步骤 查看gcc版本命令: strings /lib64/libc.so.6 |grep GLIBC_ glibc安装 首先, 点击此处下载glibc2.14下载, ...

  9. FreeSWITCH添加h264编码及pcap视频提取

    操作系统 :CentOS 7.6_x64.Windows 10_x64 FreeSWITCH版本 :1.10.9 Python版本:3.9.2 一.启用h264相关模块 这里以 mod_openh26 ...

  10. CF1526C2

    与简单版的思路完全一致,只需要改一下范围. 可以去看我简单版本的博客. 题目简化和分析: 给您一个数组,在其中选择若干个数使得: 任意前缀和 \(\ge 0\) 数量尽可能的大 我们可以使用贪心策略, ...