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函数 功能 参数 返回值 代码演示 …...

vscode(仍待补充)
写于2025 6.9 主包将加入vscode这个更权威的圈子 vscode的基本使用 侧边栏 vscode还能连接ssh? debug时使用的launch文件 1.task.json {"tasks": [{"type": "cppbuild","label": "C/C: gcc.exe 生成活动文件"…...

【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)
服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...

什么是库存周转?如何用进销存系统提高库存周转率?
你可能听说过这样一句话: “利润不是赚出来的,是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业,很多企业看着销售不错,账上却没钱、利润也不见了,一翻库存才发现: 一堆卖不动的旧货…...
【论文笔记】若干矿井粉尘检测算法概述
总的来说,传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度,通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...

python执行测试用例,allure报乱码且未成功生成报告
allure执行测试用例时显示乱码:‘allure’ �����ڲ����ⲿ���Ҳ���ǿ�&am…...
Spring是如何解决Bean的循环依赖:三级缓存机制
1、什么是 Bean 的循环依赖 在 Spring框架中,Bean 的循环依赖是指多个 Bean 之间互相持有对方引用,形成闭环依赖关系的现象。 多个 Bean 的依赖关系构成环形链路,例如: 双向依赖:Bean A 依赖 Bean B,同时 Bean B 也依赖 Bean A(A↔B)。链条循环: Bean A → Bean…...

网站指纹识别
网站指纹识别 网站的最基本组成:服务器(操作系统)、中间件(web容器)、脚本语言、数据厍 为什么要了解这些?举个例子:发现了一个文件读取漏洞,我们需要读/etc/passwd,如…...

短视频矩阵系统文案创作功能开发实践,定制化开发
在短视频行业迅猛发展的当下,企业和个人创作者为了扩大影响力、提升传播效果,纷纷采用短视频矩阵运营策略,同时管理多个平台、多个账号的内容发布。然而,频繁的文案创作需求让运营者疲于应对,如何高效产出高质量文案成…...

android RelativeLayout布局
<?xml version"1.0" encoding"utf-8"?> <RelativeLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"match_parent"android:gravity&…...

协议转换利器,profinet转ethercat网关的两大派系,各有千秋
随着工业以太网的发展,其高效、便捷、协议开放、易于冗余等诸多优点,被越来越多的工业现场所采用。西门子SIMATIC S7-1200/1500系列PLC集成有Profinet接口,具有实时性、开放性,使用TCP/IP和IT标准,符合基于工业以太网的…...