当前位置: 首页 > news >正文

Elasticsearch 集群快照的定期备份设置指南

Elasticsearch 集群快照的定期备份设置指南

概述

快照
在给定时刻对整个集群或者单个索引进行备份,以便在之后出现故障时可以基于之前备份的快照进行快速恢复。

前提条件
准备一个备份存储盘,本指南采用的是AWS EFS文件系统做为备份盘

一、挂载集群备份存储路径

  1. 在Elasticsearch集群的每一个节点上,执行以下操作创建基础目录:

    mkdir /es-backup-warehouse
    

    此目录将作为挂载点及后续备份数据存储的根目录,要确保节点磁盘空间充足,能容纳预期的备份数据量。

  2. 挂载远程存储设备到本地目录,假设远程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协议,该版本协议在性能、安全性及功能特性上有诸多优化,能更好适配集群备份场景。
    • rsizewsize:均设为1048576字节(即1MB),用于优化网络读写数据块大小,减少因小数据块频繁传输导致的网络开销,提升数据传输效率。
    • hard:采用硬挂载方式,若网络连接意外中断,挂载进程会持续尝试重连,直至恢复通信,保证备份过程不因短暂网络故障而中断,确保数据完整性。
    • timeo=600:设定连接超时时间为600秒,若发起连接请求600秒内未成功建立,将触发超时处理,避免无限期等待连接。
    • retrans=2:限制网络异常时重传次数为2次,防止因过度重传造成网络拥塞,同时保障一定的数据传输可靠性。
    • noresvport:取消对保留端口使用限制,使挂载能灵活选择可用端口通信,增强网络兼容性。
  3. 在挂载目录内创建子目录用于存放Elasticsearch备份数据,并赋予合适权限:

    mkdir /es-backup-warehouse/es-backup-warehouse
    chown elasticsearch:elasticsearch /es-backup-warehouse/es-backup-warehouse
    

    这一步确保elasticsearch用户及用户组拥有对该子目录的读写权限,满足Elasticsearch备份与还原操作需求。

二、配置Elasticsearch节点的快照仓库

  1. 使用vim编辑器打开Elasticsearch配置文件:
    vim /etc/elasticsearch/elasticsearch.yml
    
  2. 添加或修改以下配置项,指定快照仓库路径:
    path.repo: ["/es-backup-warehouse/es-backup-warehouse"]
    
    注意路径务必与实际创建的备份存储子目录路径完全匹配,Elasticsearch依赖此路径定位存储位置。

三、滚动重启Elasticsearch集群节点

  1. 由于修改了关键配置文件,正在运行的集群需执行滚动重启操作,以保障集群持续可用及数据一致性。
    详细步骤参考官方文档:https://www.elastic.co/guide/en/elasticsearch/reference/7.17/restart-cluster.html#restart-cluster-rolling (:根据自己elasticsearch版本进行参考)
    • 在重启过程中,可通过以下命令实时监控集群健康状况:
    GET /_cluster/health?pretty=true
    
    该命令以易读格式展示集群健康信息,涵盖节点存活数、数据分片分布、索引状态等关键指标,助您及时察觉潜在问题。
    • 同时,利用以下命令查看节点状态:
    GET _cat/nodes
    
    输出节点详细信息,包括名称、IP地址、负载情况、内存使用等,辅助排查节点重启异常。

四、在Kibana中进行快照生命周期的管理

  1. 登录Kibana管理界面,进入“管理” -> “Elasticsearch” -> “快照和还原”相关页面创建存储库。

  2. 按要求填写存储库配置:

    • 存储库名称:es-backup-repositories,建议名称简洁且唯一,方便后续管理识别。
    • 存储类型:选择“共享文件系统”,对应之前挂载的NFS共享存储,保障数据存储一致性与可访问性。
    • 位置:填写与path.repo配置一致的路径,即/es-backup-warehouse/es-backup-warehouse,确保Elasticsearch与Kibana对存储位置认知统一。
    • 快照压缩:设为true,启用压缩功能,减少备份文件存储空间占用,但会增加CPU运算负担,适用于存储或带宽资源紧张场景。
    • 块大小:设为100mb,定义备份数据块大小,影响备份性能与资源分配。较大块可减少文件系统操作次数,提升效率,但还原时可能增加内存占用,需依集群性能等综合考量。
    • 每秒最大快照字节数:设为100mb,限制备份写入速度,防止过度占用网络带宽影响正常业务,可按需调整。
    • 每秒最大还原字节数:设为100mb,控制还原时数据读取速率,避免对集群性能冲击过大。

    :其它配置,多久备份一次,什么时间开始备份,等根据自己业务环境情况进行设置

五、验证存储库及设置开机自动挂载

  1. 创建存储库后,在Kibana界面或通过Elasticsearch API验证,无报错即表示成功,可用于后续快照备份与还原操作。
  2. 为实现开机自动挂载存储,编辑/etc/fstab文件:
    vi /etc/fstab
    
    添加以下挂载项(假设使用AWS EFS,地址为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查看集群及节点状态

  1. 如需在Kibana查看集群健康状态,执行:
    GET /_cluster/health?pretty=true
    
  2. 查看节点状态则执行:
    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申请的,听说地理位置很重要,该给的权限&#xff08…...

信奥题解:勾股数计算中的浮点数精度问题

来源: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默认不自动提交&#xff0…...

实验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&#xff0c;我们需要判断这个A方法是否存在事务&#xff0c;并且使用异步执行动作B&#xff1b; 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制作伤害浮动数字

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

学习日志024--opencv中处理轮廓的函数

目录 前言​​​​​​​ 一、 梯度处理的sobel算子函数 功能 参数 返回值 代码演示 二、梯度处理拉普拉斯算子 功能 参数 返回值 代码演示 三、Canny算子 功能 参数 返回值 代码演示 四、findContours函数与drawContours函数 功能 参数 返回值 代码演示 …...

关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案

问题描述&#xff1a;iview使用table 中type: "index",分页之后 &#xff0c;索引还是从1开始&#xff0c;试过绑定后台返回数据的id, 这种方法可行&#xff0c;就是后台返回数据的每个页面id都不完全是按照从1开始的升序&#xff0c;因此百度了下&#xff0c;找到了…...

select、poll、epoll 与 Reactor 模式

在高并发网络编程领域&#xff0c;高效处理大量连接和 I/O 事件是系统性能的关键。select、poll、epoll 作为 I/O 多路复用技术的代表&#xff0c;以及基于它们实现的 Reactor 模式&#xff0c;为开发者提供了强大的工具。本文将深入探讨这些技术的底层原理、优缺点。​ 一、I…...

JVM暂停(Stop-The-World,STW)的原因分类及对应排查方案

JVM暂停(Stop-The-World,STW)的完整原因分类及对应排查方案,结合JVM运行机制和常见故障场景整理而成: 一、GC相关暂停​​ 1. ​​安全点(Safepoint)阻塞​​ ​​现象​​:JVM暂停但无GC日志,日志显示No GCs detected。​​原因​​:JVM等待所有线程进入安全点(如…...

Spring数据访问模块设计

前面我们已经完成了IoC和web模块的设计&#xff0c;聪明的码友立马就知道了&#xff0c;该到数据访问模块了&#xff0c;要不就这俩玩个6啊&#xff0c;查库势在必行&#xff0c;至此&#xff0c;它来了。 一、核心设计理念 1、痛点在哪 应用离不开数据&#xff08;数据库、No…...

什么是Ansible Jinja2

理解 Ansible Jinja2 模板 Ansible 是一款功能强大的开源自动化工具&#xff0c;可让您无缝地管理和配置系统。Ansible 的一大亮点是它使用 Jinja2 模板&#xff0c;允许您根据变量数据动态生成文件、配置设置和脚本。本文将向您介绍 Ansible 中的 Jinja2 模板&#xff0c;并通…...

动态 Web 开发技术入门篇

一、HTTP 协议核心 1.1 HTTP 基础 协议全称 &#xff1a;HyperText Transfer Protocol&#xff08;超文本传输协议&#xff09; 默认端口 &#xff1a;HTTP 使用 80 端口&#xff0c;HTTPS 使用 443 端口。 请求方法 &#xff1a; GET &#xff1a;用于获取资源&#xff0c;…...

【笔记】WSL 中 Rust 安装与测试完整记录

#工作记录 WSL 中 Rust 安装与测试完整记录 1. 运行环境 系统&#xff1a;Ubuntu 24.04 LTS (WSL2)架构&#xff1a;x86_64 (GNU/Linux)Rust 版本&#xff1a;rustc 1.87.0 (2025-05-09)Cargo 版本&#xff1a;cargo 1.87.0 (2025-05-06) 2. 安装 Rust 2.1 使用 Rust 官方安…...

免费数学几何作图web平台

光锐软件免费数学工具&#xff0c;maths,数学制图&#xff0c;数学作图&#xff0c;几何作图&#xff0c;几何&#xff0c;AR开发,AR教育,增强现实,软件公司,XR,MR,VR,虚拟仿真,虚拟现实,混合现实,教育科技产品,职业模拟培训,高保真VR场景,结构互动课件,元宇宙http://xaglare.c…...

WPF八大法则:告别模态窗口卡顿

⚙️ 核心问题&#xff1a;阻塞式模态窗口的缺陷 原始代码中ShowDialog()会阻塞UI线程&#xff0c;导致后续逻辑无法执行&#xff1a; var result modalWindow.ShowDialog(); // 线程阻塞 ProcessResult(result); // 必须等待窗口关闭根本问题&#xff1a…...

【51单片机】4. 模块化编程与LCD1602Debug

1. 什么是模块化编程 传统编程会将所有函数放在main.c中&#xff0c;如果使用的模块多&#xff0c;一个文件内会有很多代码&#xff0c;不利于组织和管理 模块化编程则是将各个模块的代码放在不同的.c文件里&#xff0c;在.h文件里提供外部可调用函数声明&#xff0c;其他.c文…...