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集群备份存储功能完备可靠,数据安全得以有效保障,后续可依备份策略定期执行快照操作。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/939869.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

JavaScript基础学习

1.一元运算符 正负号,自增运算符 2.比较运算符 判断相等用 字符串比较,比较的是ASC码 尽量不要比较小数,小数有精度 不同类型比较会有隐式转换 3.运算符优先级 4.分支语句 除了0,其余数字都是真。除了空字符串&#xff0c…

SQL进阶技巧:如何计算商品需求与到货队列表进出计划?

目录 0 需求描述 1 数据准备 2 问题分析 3 小结 累计到货数量计算 出货数量计算 剩余数量计算 0 需求描述 假设现有多种商品的订单需求表 DEMO_REQUIREMENT,以及商品的到货队列表 DEMO_ARR_QUEUE,要求按照业务需要,设计一个报表&#…

“调用函数”多出一个None

Python中函数缺省返回空值,试图打印没有return的函数都将是None。 (笔记模板由python脚本于2024年12月20日 19:59:03创建,本篇笔记适合会自定义python函数的coder翻阅) 【学习的细节是欢悦的历程】 Python 官网:https://www.python.org/ Fre…

Flask内存马学习

文章目录 参考文章环境搭建before_request方法构造内存马after_request方法构造内存马errorhandler方式构造内存马add_url_rule方式构造内存马 参考文章 https://www.mewo.cc/archives/10/ https://www.cnblogs.com/gxngxngxn/p/18181936 前人栽树, 后人乘凉 大佬们太nb了, …

在Win11系统上安装Android Studio

诸神缄默不语-个人CSDN博文目录 下载地址:https://developer.android.google.cn/studio?hlzh-cn 官方安装教程:https://developer.android.google.cn/studio/install?hlzh-cn 点击Next,默认会同时安装Android Studio和Android虚拟机&#…

Python读取Excel批量写入到PPT生成词卡

一、问题的提出 有网友想把Excel表中的三列数据,分别是:单词、音标和释义分别写入到PPT当中,每一张PPT写一个单词的内容。这种批量操作是python的强项,尤其是在办公领域,它能较好地解放双手,读取Excel表后…

【CC2530开发基础篇】继电器模块使用

一、前言 1.1 开发背景 本实验通过使用CC2530单片机控制继电器的吸合与断开,深入了解单片机GPIO的配置与应用。继电器作为一种常见的电气控制元件,广泛用于自动化系统中,用于控制大功率负载的开关操作。在本实验中,将通过GPIO口…

ChatGPT生成接口测试用例(二)

5.1.4 自动生成测试数据 测试数据的生成通常是接口测试的一个烦琐任务。ChatGPT可以帮助测试团队生成测试数据,包括各种输入和它们的组合。测试人员可以描述他们需要的数据类型和范围,ChatGPT可以生成符合要求的测试数据,从而减轻测试人员的负…

空天地遥感数据识别与计算--数据分析如何助力农林牧渔、城市发展、地质灾害监测等行业革新

在科技飞速发展的时代,遥感数据的精准分析已经成为推动各行业智能决策的关键工具。从无人机监测农田到卫星数据支持气候研究,空天地遥感数据正以前所未有的方式为科研和商业带来深刻变革。然而,对于许多专业人士而言,如何高效地处…

使用ZLMediaKit 开源项目搭建RTSP 服务器

ZLMediaKit 是啥? ZLMediaKit是国人开发的开源C流媒体服务器,同SRS一样是主流的流媒体服务器。 ZLToolKit是基于C11的高性能服务器框架,和ZLMediaKit是同一个作者,ZLMediaKit正是使用该框架开发的。 官网 ZLMediaKit开源地址&…

Pytorch | 利用BIM针对CIFAR10上的ResNet分类器进行对抗攻击

Pytorch | 利用BIM针对CIFAR10上的ResNet分类器进行对抗攻击 CIFAR数据集BIM介绍基本原理算法流程特点应用场景 BIM代码实现BIM算法实现攻击效果 代码汇总bim.pytrain.pyadvtest.py 之前已经针对CIFAR10训练了多种分类器: Pytorch | 从零构建AlexNet对CIFAR10进行分…

同步异步日志系统:前置知识

一、日志项目的介绍 1.1 为什么要有日志系统 1、⽣产环境的产品为了保证其稳定性及安全性是不允许开发⼈员附加调试器去排查问题,可以借助日志系统来打印⼀些⽇志帮助开发⼈员解决问题 为什么不直接printf打印在屏幕上呢??因为现实中没有…

搭建私有链

文章目录 1. 准备工作2. 创建创世区块配置文件2.1 创建数据目录2.2 创建创世区块配置文件1. “config”部分2. “alloc”部分3. “coinbase”4. “difficulty”5. “extraData”6. “gasLimit”7. “nonce”8. “mixhash”9. “parentHash”10. “timestamp” 3. 初始化&#x…

国标GB28181平台EasyGBS在安防视频监控中的信号传输(电源/视频/音频)特性及差异

在现代安防视频监控系统中,国标GB28181协议作为公共安全视频监控联网系统的国家标准,该协议不仅规范了视频监控系统的信息传输、交换和控制技术要求,还为不同厂商设备之间的互联互通提供了统一的框架。EasyGBS平台基于GB28181协议&#xff0c…

详细解读TISAX认证的意义

详细解读TISAX认证的意义,犹如揭开信息安全领域的一颗璀璨明珠,它不仅代表了企业在信息安全管理方面的卓越成就,更是通往全球汽车供应链信任桥梁的关键一环。TISAX,即“Trusted Information Security Assessment Exchange”&#…

Pytorch | 从零构建AlexNet对CIFAR10进行分类

Pytorch | 从零构建AlexNet对CIFAR10进行分类 CIFAR10数据集AlexNet网络结构技术创新点性能表现影响和意义 AlexNet结构代码详解结构代码代码详解特征提取层 self.features分类部分self.classifier前向传播forward 训练过程和测试结果代码汇总alexnet.pytrain.pytest.py CIFAR1…

初学stm32 --- 系统时钟配置

众所周知,时钟系统是 CPU 的脉搏,就像人的心跳一样。所以时钟系统的重要性就不言而喻了。 STM32 的时钟系统比较复杂,不像简单的 51 单片机一个系统时钟就可以解决一切。于是有人要问,采用一个系统时钟不是很简单吗?为…

进程间通信方式---System V IPC信号量

进程间通信方式—System V IPC信号量 文章目录 进程间通信方式---System V IPC信号量信号量1.信号量原语2.semget 系统调用参数返回值 3.semop 系统调用参数返回值 4.semctl 系统调用5.特殊键值 IPC_PRIVATE6.信号量实现进程间通信1. 数据结构定义2. 信号量操作相关部分3. 生产…

深入理解Kafka:核心设计与实践原理读书笔记

目录 初识Kafka基本概念安装与配置ZooKeeper安装与配置Kafka的安装与配置 生产与消费服务端参数配置 生产者客户端开发消息对象 ProducerRecord必要的参数配置发送消息序列化分区器生产者拦截器 原理分析整体架构元数据的更新 重要的生产者参数acksmax.request.sizeretries和re…

electron 顶部的元素点不中,点击事件不生效

electron 顶部的元素点不中,点击事件不生效