说明:三台ES节点组成ES集群,一台kibana主机,版本均是7.3.0,白金试用版

官方地址:https://www.elastic.co/guide/en/elasticsearch/reference/7.3/modules-snapshots.html

1.在kibana所在主机搭建NFS服务器

具体操作详看:https://www.cnblogs.com/sanduzxcvbnm/p/11780926.html

2.在ES集群的三台节点上均创建相同的目录,并挂载NFS服务器地址

# 我这边的挂载命令,具体ip和路径根据个人情况而定
mount -t nfs -o nolock,vers=4 192.168.75.20:/opt/elk_backups /opt/elk_backups

3.在ES集群的所有主节点和数据节点配置文件中添加如下参数:

path.repo: ["/opt/elk_backups"]

重启es集群

4.在kibana界面创建快照存储库

Elasticsearch,快照存储库,注册快照存储库,输入”存储库名称“,存储库类型选择”共享文件系统“,下一步

文件系统位置填写上一步共享的那个路径,我这里填写的是”文件系统位置“,快照压缩开启,快大小,每秒最大快照字节数和每秒最大还原字节数我这边都填写的10mb,根据具体情况而定,保存

右边出现如下界面,点击”验证存储库“

验证结果出现如下类似情况说明成功了

报错情况分析:

1.access_denied_exception

/opt/elk_backups目录权限问题导致的,es集群启动所用用户没有权限访问该目录

解决办法:chmod -R 777 /opt/elk_backups 最大该目录权限

2.repository_verification_exception

共享目录/opt/elk_backups权限导致的,

说一下我这边成功的情况

kibana主机上:

drwxr-xr-x.   3 root root   25 Dec 11 15:45 opt
drwxrwxrwx. 2 root root 32 Dec 11 16:27 elk_backups

es主机上:

drwxr-xr-x.   3 root root   25 Dec 11 15:45 opt
drwxrwxrwx. 2 root root 32 Dec 11 16:27 elk_backups

验证快照存储库,除了kibana提供的web界面,命令行界面:POST /_snapshot/测试快照存储库/_verify

说明:为了后续创建快照,这次使用英文的快照名:back_ups

  1. 创建快照

现在有个test索引,文档如下

GET /test/_doc/1

{
"_index" : "test",
"_type" : "_doc",
"_id" : "1",
"_version" : 1,
"_seq_no" : 0,
"_primary_term" : 1,
"found" : true,
"_source" : {
"name" : "haha"
}
}

就利用这个索引,先创建一个快照,然后添加一些数据,再创建一个快照,然后还原快照1进行查看,还原快照2进行查看

或者可以创建不同的索引来进行验证

# back_ups为注册的快照存储库,snapshot_1为创建的快照名,wait_for_completion参数指定是在初始化快照(默认)后立即返回请求还是等待快照完成
PUT /_snapshot/back_ups/snapshot_1?wait_for_completion=true

查看创建的快照

GET /_snapshot/back_ups/snapshot_1

快照详细信息

服务器上保存的快照文件

添加数据

POST /test/_doc/2
{
"name":"1234"
} POST /test/_doc/3
{
"name":"3333"
}

查看数据

创建快照2

PUT /_snapshot/back_ups/snapshot_2

{
"accepted" : true
}

还原快照1

不还原系统索引,只还原test索引

现有test索引还原后重命名为一个新的索引,否则的话会无法进行还原

这几个都不开启,讲的是还原快照的话,索引配置是否要发生变更,比如副本数等

确认还原选项

还原成功

查看还原情况

恢复快照,是把快照中的指定索引还原到现在并形成一个新索引,旧索引仍然存在,通过查看文档数可以知道

还原到快照2就不操作了,大体类似。。。

总结:(重要)

0.以下所说的均只针对自己创建的索引,系统索引不恢复快照

1.假设test索引没有删除,还在集群中,则恢复快照时,需要指定其他索引名才能进行还原。也即是从快照中提取出该快照并重命名保存到集群中,上述步骤说的就是这个

2.假设test索引已经删除了,没有在集群中,则恢复快照时,不用指定新索引名,直接还原快照,则就直接把test索引还原到创建快照时的情况

3.在恢复快照的过程中,可以进行若干调整,比如,现有索引不删除,把快照中的索引还原成新索引;还原过程中之地那个索引的副本数,以及其他待验证的步骤

后续扩展:

可以写个shell脚本,设置每天的零点自动创建快照,下述待完善,等需要用的时候再说

#!/bin/bash

NUMBER="根据当前时间生成"
curl -XPUT "http://192.168.75.21:9200/_snapshot/back_ups/snapshot_${NUMBER}"

ES集群7.3.0设置快照,存储库进行索引备份和恢复等的更多相关文章

  1. ELasticSearch(五)ES集群原理与搭建

    一.ES集群原理 查看集群健康状况:URL+ /GET _cat/health (1).ES基本概念名词 Cluster 代表一个集群,集群中有多个节点,其中有一个为主节点,这个主节点是可以通过选举产 ...

  2. Elasticsearch-6.7.0系列(二)ES集群安装与验证

    准备3台centos7机器/虚拟机,每台都安装上elasticsearch6.7.0 ,安装过程参考我的另一篇博客<Elasticsearch-6.7.0系列(一)9200端口 .tar.gz版 ...

  3. ES集群监控 之 Cerebro 0.8.3 安装及简单使用

    注意权限,不建议使用root,同es集群的启动用户相同即可 1. 下载 & 解压 # 下载 wget https://github.com/lmenezes/cerebro/releases/ ...

  4. Elasticsearch-6.7.0系列(七)SpringCloud连接ES集群,使用ES用户名密码

    pom.xml代码: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://ww ...

  5. 多es 集群数据迁移方案

    前言 加入新公司的第二个星期的星期二 遇到另一个项目需要技术性支持:验证es多集群的数据备份方案,需要我参与验证,在这个项目中需要关注到两个集群的互通性.es集群是部署在不同的k8s环境中,K8s环境 ...

  6. elasticsearch系列八:ES 集群管理(集群规划、集群搭建、集群管理)

    一.集群规划 搭建一个集群我们需要考虑如下几个问题: 1. 我们需要多大规模的集群? 2. 集群中的节点角色如何分配? 3. 如何避免脑裂问题? 4. 索引应该设置多少个分片? 5. 分片应该设置几个 ...

  7. ES集群

    1. ElasticSerach集群安装  修改配置文件elasticserach.yml [elk@localhost config]$ vi elasticsearch.yml # ------- ...

  8. es集群数据库~基本安装

    1 安装java环境   yum -y install java-1.8.0-openjdk*->需要最新的JDK环境1.82 安装 es   curl -L -O https://artifa ...

  9. 【7.1.1】ELK集群搭建 之 ES集群

    写在前边 昨天晚上就已经完成这篇博客了,就是在测试这块是否正常跑起来,晚上没搞完,上班前把电脑关机带着,结果没保存!基本上昨天写的东西都丢了,好在博客园的图片url还在. 为了让大家都轻松些,我轻松写 ...

随机推荐

  1. open_basedir restriction in effect

    vim /usr/local/nginx/conf/fastcgi.conf fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_ro ...

  2. C语言 严蔚敏数据结构 线性表之链表实现

    博主最近在考成都大学皇家计算机科学与技术专业,复习专业课数据结构,正好学习到线性结构中的线性表用链表这种存储结构来实现. 首先,数据结构包括1.数据的操作2.逻辑结构3.存储结构(数据结构三要素. 直 ...

  3. Nginx 高级配置-状态页配置

    Nginx 高级配置-状态页配置 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 建议将nginx的监控状态的值通过zabbix或者Open-Falcon之类的监控工具来监控状态,并 ...

  4. Linux(Centos7.6)下安装Gitlab详细教程

    Gitlab搭建操作步骤: 1.查看Linux系统版本确认gitlab需要使用的安装包类型 使用命令:cat /etc/redhat-release CentOS Linux release 7.6. ...

  5. 火车头data下任务文件夹的SpiderResult.db3文件用什么软件打开

    火车头采集器默认是用sqlite数据库来保存数据的,新建一个采集,打开data/任务/发现有一个SpiderResult.db3文件,.db3是sqlite的存储文件后缀,那么要如何查看这些文件呢?用 ...

  6. 13-cmake语法-路径设置

    路径设置: 包括头文件路径.库文件路径.库文件名等 INCLUDE_DIRECTORIES 向工程添加多个特定的头文件搜索路径,路径之间用空格分隔,如果路径包含空格,可以使用双引号将它括起来,默认的行 ...

  7. 8-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案安全篇(Apache 配置SSL,HTTPS连接)

    https://www.cnblogs.com/yangfengwu/p/10947423.html 和当时配置MQTT差不多,去下载证书文件   https://www.cnblogs.com/ya ...

  8. contest5 CF991 div2 ooooxx ooooox ooooox

    题意 div2D 给出一个棋盘, 有一些点不能放, 总共\(2\)排, 长度\(n(\le 100)\) 在上面空位摆放\('L'\)字形的牌, 问最多能放几个 例如: 00X00X0XXX0 0XX ...

  9. vue - 小日历项目制作中的问题与解决思路

    效果图: 项目难点: 1. 每个月的日期数是不定的,拢共需要几个格子? 按照教程的做法需要42个.所以遍历数字42,得到42个div做格子. 2. 格子的排版怎么做? 顶部的星期布局使用的flex水平 ...

  10. servlet中的doGet()与doPost()以及service()的用法

    doget和dopost的区别 get和post是http协议的两种方法,另外还有head, delete等 1.这两种方法有本质的区别,get只有一个流,参数附加在url后,大小个数有严格限制且只能 ...