Elasticsearch 集群快照的定期备份设置指南
Elasticsearch 集群快照的定期备份设置指南
概述
快照:
在给定时刻对整个集群或者单个索引进行备份,以便在之后出现故障时可以基于之前备份的快照进行快速恢复。
前提条件:
准备一个备份存储盘,本指南采用的是AWS EFS文件系统做为备份盘
一、挂载集群备份存储路径
-
在Elasticsearch集群的每一个节点上,执行以下操作创建基础目录:
mkdir /es-backup-warehouse
此目录将作为挂载点及后续备份数据存储的根目录,要确保节点磁盘空间充足,能容纳预期的备份数据量。
-
挂载远程存储设备到本地目录,假设远程NFS服务器IP为
10.0.139.*
,执行如下命令:sudo mount -t nfs4 -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport 10.0.139.*:/ /es-backup-warehouse
关于挂载参数解释:
nfsvers=4.1
:指定使用NFS 4.1协议,该版本协议在性能、安全性及功能特性上有诸多优化,能更好适配集群备份场景。rsize
和wsize
:均设为1048576字节(即1MB),用于优化网络读写数据块大小,减少因小数据块频繁传输导致的网络开销,提升数据传输效率。hard
:采用硬挂载方式,若网络连接意外中断,挂载进程会持续尝试重连,直至恢复通信,保证备份过程不因短暂网络故障而中断,确保数据完整性。timeo=600
:设定连接超时时间为600秒,若发起连接请求600秒内未成功建立,将触发超时处理,避免无限期等待连接。retrans=2
:限制网络异常时重传次数为2次,防止因过度重传造成网络拥塞,同时保障一定的数据传输可靠性。noresvport
:取消对保留端口使用限制,使挂载能灵活选择可用端口通信,增强网络兼容性。
-
在挂载目录内创建子目录用于存放Elasticsearch备份数据,并赋予合适权限:
mkdir /es-backup-warehouse/es-backup-warehouse chown elasticsearch:elasticsearch /es-backup-warehouse/es-backup-warehouse
这一步确保
elasticsearch
用户及用户组拥有对该子目录的读写权限,满足Elasticsearch备份与还原操作需求。
二、配置Elasticsearch节点的快照仓库
- 使用
vim
编辑器打开Elasticsearch配置文件:vim /etc/elasticsearch/elasticsearch.yml
- 添加或修改以下配置项,指定快照仓库路径:
注意路径务必与实际创建的备份存储子目录路径完全匹配,Elasticsearch依赖此路径定位存储位置。path.repo: ["/es-backup-warehouse/es-backup-warehouse"]
三、滚动重启Elasticsearch集群节点
- 由于修改了关键配置文件,正在运行的集群需执行滚动重启操作,以保障集群持续可用及数据一致性。
详细步骤参考官方文档:https://www.elastic.co/guide/en/elasticsearch/reference/7.17/restart-cluster.html#restart-cluster-rolling (注:根据自己elasticsearch版本进行参考)- 在重启过程中,可通过以下命令实时监控集群健康状况:
该命令以易读格式展示集群健康信息,涵盖节点存活数、数据分片分布、索引状态等关键指标,助您及时察觉潜在问题。GET /_cluster/health?pretty=true
- 同时,利用以下命令查看节点状态:
输出节点详细信息,包括名称、IP地址、负载情况、内存使用等,辅助排查节点重启异常。GET _cat/nodes
四、在Kibana中进行快照生命周期的管理
-
登录Kibana管理界面,进入“管理” -> “Elasticsearch” -> “快照和还原”相关页面创建存储库。
-
按要求填写存储库配置:
- 存储库名称:
es-backup-repositories
,建议名称简洁且唯一,方便后续管理识别。 - 存储类型:选择“共享文件系统”,对应之前挂载的NFS共享存储,保障数据存储一致性与可访问性。
- 位置:填写与
path.repo
配置一致的路径,即/es-backup-warehouse/es-backup-warehouse
,确保Elasticsearch与Kibana对存储位置认知统一。 - 快照压缩:设为
true
,启用压缩功能,减少备份文件存储空间占用,但会增加CPU运算负担,适用于存储或带宽资源紧张场景。 - 块大小:设为
100mb
,定义备份数据块大小,影响备份性能与资源分配。较大块可减少文件系统操作次数,提升效率,但还原时可能增加内存占用,需依集群性能等综合考量。 - 每秒最大快照字节数:设为
100mb
,限制备份写入速度,防止过度占用网络带宽影响正常业务,可按需调整。 - 每秒最大还原字节数:设为
100mb
,控制还原时数据读取速率,避免对集群性能冲击过大。
注:其它配置,多久备份一次,什么时间开始备份,等根据自己业务环境情况进行设置
- 存储库名称:
五、验证存储库及设置开机自动挂载
- 创建存储库后,在Kibana界面或通过Elasticsearch API验证,无报错即表示成功,可用于后续快照备份与还原操作。
- 为实现开机自动挂载存储,编辑
/etc/fstab
文件:
添加以下挂载项(假设使用AWS EFS,地址为vi /etc/fstab
fs-*.efs.us-west-2.amazonaws.com:/
,依实际情况调整):
保存fs-*.efs.us-west-2.amazonaws.com:/ /es-backup-warehouse nfs4 defaults,_netdev,nofail 0 0
/etc/fstab
后,执行以下命令测试配置是否生效:mount -a
六、在Kibana查看集群及节点状态
- 如需在Kibana查看集群健康状态,执行:
GET /_cluster/health?pretty=true
- 查看节点状态则执行:
这两个命令有助于随时掌握集群运行状况,及时发现问题并处理,保障集群稳定高效运行,为数据备份及整体业务提供坚实支撑。GET _cat/nodes
通过以上步骤,完成了从存储路径挂载、节点配置、Kibana存储库创建到验证及自动挂载设置的全流程操作,确保Elasticsearch集群备份存储功能完备可靠,数据安全得以有效保障,后续可依备份策略定期执行快照操作。
相关文章:
Elasticsearch 集群快照的定期备份设置指南
Elasticsearch 集群快照的定期备份设置指南 概述 快照: 在给定时刻对整个集群或者单个索引进行备份,以便在之后出现故障时可以基于之前备份的快照进行快速恢复。 前提条件: 准备一个备份存储盘,本指南采用的是AWS EFS文件系统做…...

Docker--Docker Image(镜像)
什么是Docker Image? Docker镜像(Docker Image)是Docker容器技术的核心组件之一,它包含了运行应用程序所需的所有依赖、库、代码、运行时环境以及配置文件等。 简单来说,Docker镜像是一个轻量级、可执行的软件包&…...
C++ 中的序列化和反序列化
一、C 中的序列化和反序列化 (一)基本概念 在 C 中,序列化是将对象转换为字节流的过程,反序列化则是从字节流重新构建对象的过程。这对于存储对象状态到文件、网络传输等场景非常有用。 (二)简单的序列化…...

我的Github学生认证申请过程
先说结论:很简单。 学生认证链接:GitHub Education GitHub 1. 首先你得绑定edu邮箱。这个应该没什么问题,Github也会提示。 2. 我是在学校里面、使用流量而非WiFi申请的,听说地理位置很重要,该给的权限(…...
信奥题解:勾股数计算中的浮点数精度问题
来源:GESP C++ 二级模拟题 本文给出官方参考答案的详细解析,包括每一部分的功能和关键点,以及与浮点数精度相关的问题的分析。 题目描述 勾股数是很有趣的数学概念。如果三个正整数a 、b 、c ,满足 a 2 + b 2 = c 2 a^2 + b^2 = c^2 a2+b2=c2 ,而且1 ≤ a ≤ b ≤ c ,…...
重生之我在学Vue--第2天 Vue 3 Composition API 与响应式系统
重生之我在学Vue–第2天 Vue 3 Composition API 与响应式系统 文章目录 重生之我在学Vue--第2天 Vue 3 Composition API 与响应式系统前言一、Composition API 核心概念1.1 什么是 Composition API?1.2 Composition API 的核心工具1.3 基础用法示例 二、响应式系统2…...

【AI知识】逻辑回归介绍+ 做二分类任务的实例(代码可视化)
1. 分类的基本概念 在机器学习的有监督学习中,分类一种常见任务,它的目标是将输入数据分类到预定的类别中。具体来说: 分类任务的常见应用: 垃圾邮件分类:判断一封电子邮件是否是垃圾邮件 。 医学诊断:…...
Mysql 笔记2 emp dept HRs
-- 注意事项 -- 1.给数据库和表起名字时尽量选择全小写 -- 2.作为筛选条件的字符串是否区分大小写看设置的校对规则utf8_bin 区分 drop database if exists hrs; create database hrs default charset utf8 collate utf8_general_ci;use hrs; drop table if exists tb_emp; dro…...
MySQL和Oracle的区别
MySQL和Oracle的区别 MySQL是轻量型数据库,并且免费,没有服务恢复数据。 Oracle是重量型数据库,收费,Oracle公司对Oracle数据库有任何服务。 1.对事务的提交 MySQL默认是自动提交,而Oracle默认不自动提交࿰…...

实验12 C语言连接和操作MySQL数据库
一、安装MySQL 1、使用包管理器安装MySQL sudo apt update sudo apt install mysql-server2、启动MySQL服务: sudo systemctl start mysql3、检查MySQL服务状态: sudo systemctl status mysql二、安装MySQL开发库 sudo apt-get install libmysqlcli…...

09篇--图片的水印添加(掩膜的运用)
如何添加水印? 添加水印其实可以理解为将一张图片中的某个物体或者图案提取出来,然后叠加到另一张图片上。具体的操作思想是通过将原始图片转换成灰度图,并进行二值化处理,去除背景部分,得到一个类似掩膜的图像。然后…...

sql-labs(21-25)
第21关 第一步 可以发现cookie是经过64位加密的 我们试试在这里注入 选择给他编码 发现可以成功注入 爆出表名 爆出字段 爆出数据 第22关 跟二十一关一模一样 闭合换成" 第 23 关 第二十三关重新回到get请求,会发现输入单引号报错,但是注释符…...

CTF知识集-命令执行
CTF知识集-命令执行 写在开头可能会用到的提醒 ;可以用%0a来替换 是shell_exec的缩写 ls | tee 1 把ls的输出内容存入1这个文件 shell查看文件的几种方式,tac | more | less | tail | sort | tac | cat | head | od | expand 针对flag 可以用grep { flag.php来…...

基于米尔全志T527开发板的OpenCV进行手势识别方案
本文将介绍基于米尔电子MYD-LT527开发板(米尔基于全志T527开发板)的OpenCV手势识别方案测试。 摘自优秀创作者-小火苗 米尔基于全志T527开发板 一、软件环境安装 1.安装OpenCV sudo apt-get install libopencv-dev python3-opencv 2.安装pip sudo apt…...
Htpp中web通讯发送post(上传文件)、get请求
一、正常发送post请求 1、引入pom文件 <dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpclient</artifactId><version>4.5</version></dependency>2、这个是发送至正常的post、get请求 import org…...

【论文阅读笔记】HunyuanVideo: A Systematic Framework For Large Video Generative Models
HunyuanVideo: A Systematic Framework For Large Video Generative Models 前言引言Overview数据预处理数据过滤数据注释 模型架构设计3D Variational Auto-encoder Designtraininginference 统一的图像和视频生成架构Text encoderModel ScalingImage model scaling lawvideo …...
SpringBoot的事务钩子函数
如果需要在A方法执行完成之后做一个不影响主方法运行的动作B,我们需要判断这个A方法是否存在事务,并且使用异步执行动作B; import org.springframework.transaction.support.TransactionSynchronization; import org.springframework.transa…...

源码安装PHP-7.2.19
源码安装PHP-7.2.19 1.解压 tar -xjvf php-7.2.19.tar.bz2.编译 -prefix安装路径 cd php-7.2.19 ./configure --prefix/home/work/study 成功输出 3.make(构建) makemake testmake installlinux对php操作的一些命令 # 进入到php [rootvdb1 study]# cd php/ [rootvdb1 st…...

UE5制作伤害浮动数字
效果演示: 首先创建一个控件UI 添加画布和文本 文本设置样式 添加伤害浮动动画,根据自己喜好调整,我设置了缩放和不透明度 添加绑定 转到事件图表,事件构造设置动画 创建actor蓝图类 添加widget 获取位置 设置位移 创建一个被击中…...

学习日志024--opencv中处理轮廓的函数
目录 前言 一、 梯度处理的sobel算子函数 功能 参数 返回值 代码演示 二、梯度处理拉普拉斯算子 功能 参数 返回值 代码演示 三、Canny算子 功能 参数 返回值 代码演示 四、findContours函数与drawContours函数 功能 参数 返回值 代码演示 …...
OpenLayers 可视化之热力图
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 热力图(Heatmap)又叫热点图,是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...

(十)学生端搭建
本次旨在将之前的已完成的部分功能进行拼装到学生端,同时完善学生端的构建。本次工作主要包括: 1.学生端整体界面布局 2.模拟考场与部分个人画像流程的串联 3.整体学生端逻辑 一、学生端 在主界面可以选择自己的用户角色 选择学生则进入学生登录界面…...
React hook之useRef
React useRef 详解 useRef 是 React 提供的一个 Hook,用于在函数组件中创建可变的引用对象。它在 React 开发中有多种重要用途,下面我将全面详细地介绍它的特性和用法。 基本概念 1. 创建 ref const refContainer useRef(initialValue);initialValu…...

现代密码学 | 椭圆曲线密码学—附py代码
Elliptic Curve Cryptography 椭圆曲线密码学(ECC)是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础,例如椭圆曲线数字签…...
Robots.txt 文件
什么是robots.txt? robots.txt 是一个位于网站根目录下的文本文件(如:https://example.com/robots.txt),它用于指导网络爬虫(如搜索引擎的蜘蛛程序)如何抓取该网站的内容。这个文件遵循 Robots…...

WordPress插件:AI多语言写作与智能配图、免费AI模型、SEO文章生成
厌倦手动写WordPress文章?AI自动生成,效率提升10倍! 支持多语言、自动配图、定时发布,让内容创作更轻松! AI内容生成 → 不想每天写文章?AI一键生成高质量内容!多语言支持 → 跨境电商必备&am…...

Springboot社区养老保险系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,社区养老保险系统小程序被用户普遍使用,为方…...

HDFS分布式存储 zookeeper
hadoop介绍 狭义上hadoop是指apache的一款开源软件 用java语言实现开源框架,允许使用简单的变成模型跨计算机对大型集群进行分布式处理(1.海量的数据存储 2.海量数据的计算)Hadoop核心组件 hdfs(分布式文件存储系统)&a…...

uniapp手机号一键登录保姆级教程(包含前端和后端)
目录 前置条件创建uniapp项目并关联uniClound云空间开启一键登录模块并开通一键登录服务编写云函数并上传部署获取手机号流程(第一种) 前端直接调用云函数获取手机号(第三种)后台调用云函数获取手机号 错误码常见问题 前置条件 手机安装有sim卡手机开启…...
LRU 缓存机制详解与实现(Java版) + 力扣解决
📌 LRU 缓存机制详解与实现(Java版) 一、📖 问题背景 在日常开发中,我们经常会使用 缓存(Cache) 来提升性能。但由于内存有限,缓存不可能无限增长,于是需要策略决定&am…...