Elasticsearch 快照如何工作?

作者:Lutf ur Rehman

Elastic 提供许多由讲师指导的面对面和虚拟现场培训以及点播培训。 我们的旗舰课程是 Elasticsearch 工程师、Kibana 数据分析和 Elastic 可观测性工程师。 所有这些课程都会获得认证。有关这些课程的详细介绍,请参考我之前的文章 “Elastic:如何成为一名 Elastic 认证工程师,Elastic 认证分析师及 Elastic 认证可观测性工程师”。

为了满足不断增长的需求和新功能,我们最近发布了最新版本的 Elasticsearch 工程师培训。 本课程专为 Elasticsearch 新用户和 Elasticsearch 专业人士设计。 它从 Elastic Stack 入门基础知识开始,然后快速深入探讨从优化搜索性能到构建高效集群等主题。 查看详细的课程大纲,了解有关你将学到的内容的更多信息。 所有课程都包括动手实验。

在这个由讲师指导的 “Elasticsearch工程师” 培训中,我们在教授快照时最常见的问题之一是 “每个快照在逻辑上如何独立?” 在这篇博文中,我将详细解释这一点。

什么是快照(snapshot)?

快照是正在运行的 Elasticsearch 集群的备份。 你可以使用快照来:

  • 定期备份集群,无需停机
  • 删除或硬件故障后恢复 (recover)数据
  • 集群之间传输数据
  • 通过在热、冷和冻结数据层中使用可搜索快照来降低存储成本

快照去重

为了备份索引,快照会复制索引的段(segments)并将它们存储在快照存储库中。

索引由分片组成。 每个 Elasticsearch 分片都是一个 Lucene 索引。 每个 Lucene 索引都分为称为段的更小的单元。 当你将新文档添加到索引时,Lucene 会创建一个新段并写入它。 Lucene 有时会将较小的段合并为较大的段。

由于段是不可变的,因此快照只需要复制自存储库上次快照以来创建的任何新段。

每个快照在逻辑上也是独立的。 当你删除快照时,Elasticsearch 仅删除该快照专用的段。 Elasticsearch 不会删除存储库中其他快照仍在使用的段。

让我们通过这个例子来更好地理解。

  • 假设我们拍摄一个包含一个分片和两个段的简单索引的快照 (snap1)。

  • 一段时间后,当新文档被索引时,会在 shard0 中创建一个新段 C。
  • 第二个快照 (snap2) 只会将缺失的段复制到存储库。

  • 一段时间后,段 A、B 和 C 合并,创建一个新段 D。
  • 创建新快照(snap3)时,新段 D 被复制到存储库。

  • 删除快照 (snap1) 仅删除存储库中不再被任何其他快照引用的段。
  • 在这种情况下,不会从存储库中删除任何段。

  • 仅删除 snap2 后,段A、B 和 C 也会从存储库中删除。

概括

在这篇博文中,我解释了如何借助一些图形来自动删除快照的重复数据。 如需了解更多信息,请随时阅读官方文档。

Elastic Stack 用途广泛,足以应对任何用例。 想了解如何利用这种多功能性的力量吗? 通过免费、付费、私人和培训订阅成为 Elastic 专家。 我们在全球范围内提供由讲师指导的虚拟课程,分时区为你提供便利的学习体验。 通过获得 Elastic 认证,提高您的专业知名度并突破公司内部的技术界限。

如有任何疑问,请通过 training@elastic.co 联系我们。

最初发布于 2023 年 5 月 9 日; 更新于 2023 年 11 月 16 日


本文中描述的任何特性或功能的发布和时间安排均由 Elastic 自行决定。 当前不可用的任何特性或功能可能无法按时交付或根本无法交付。

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

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

相关文章

LeetCode | 二叉树的最大深度

LeetCode | 二叉树的最大深度 OJ链接 这里需要注意的一点是每次有返回值,需要定义变量来保存上一次的值最后取最高的一方加1 int maxDepth(struct TreeNode* root) {if(root NULL)return NULL;int left maxDepth(root->left);int right maxDepth(root->r…

Haskell和http-client库下载代码示例

haskell import Network.HTTP.Client 然后,我们需要定义一个函数来下载视频。这个函数将接收一个URL作为参数,并返回一个IO动作,该动作将下载视频文件到当前目录。 haskell downloadVideo :: String -> IO () downloadVideo url do --…

typora字体不能加粗

解决办法: typora->偏好设置->Markdown 注意里面的Markdown拓展语法部分的选项,直接全钩上就行

[问题解决] no CUDA-capable device is detected

先说环境,在docker下的gpu环境ffmpeg,然后今天突然无法使用,使用时出现如下图所示: 看着报错大致内容是找不到设备,网上寻找一番没有有用的东西,于是决定自己解决,仔细察看一番后,猜…

改善厦门城市内涝积水问题,实时监测城市易涝积水点

近年来,城市内涝积水问题已成为中国许多城市面临的严峻挑战。特别是在厦门这样的海滨城市,由于其特殊的地理环境和气候条件,内涝问题尤为突出。传统的解决方法主要依赖于人工排查,然而,这种方式存在许多缺陷。 WITBEE万…

一文秒懂|Linux字符设备驱动

我的圈子: 高级工程师聚集地 我是董哥,高级嵌入式软件开发工程师,从事嵌入式Linux驱动开发和系统开发,曾就职于世界500强公司! 创作理念:专注分享高质量嵌入式文章,让大家读有所得! …

『C++成长记』构造函数和析构函数

🔥博客主页:小王又困了 📚系列专栏:C 🌟人之为学,不日近则日退 ❤️感谢大家点赞👍收藏⭐评论✍️ 目录 一、类的六个个默认成员函数 📒1.1认识默认成员函数 二、构造函数 …

TA-Lib学习研究笔记(二)——Overlap Studies下

TA-Lib学习研究笔记(二)——Overlap Studies下 (11)SAR - Parabolic SAR 抛物线指标 函数名:SAR 名称: 抛物线指标 简介:抛物线转向也称停损点转向,是利用抛物线方式,随…

机器学习-回归问题(Regression)

前言 与KNN分类任务预测的输出为离散型不同. 在机器学习中,回归任务是用于预测连续数值型变量的任务。回归任务在很多领域都有着广泛的应用. 简单的线性回归 在一个回归问题中,很显然模型选择和好坏会直接关系到将来预测结果的接近程度.即寻找到一条直…

苹果输入法怎么换行?3个换行技巧,速速掌握!

在日常打字的时候,我们经常会遇到需要换行的情况。比如,在聊天、写作、编辑文档等场景下,当一行文字输入完成后,我们通常需要将光标移动到下一行再继续输入文字。那么这时候就需要我们进行换行操作。 然而,很多用户对…

Web安全漏洞分析-XSS(上)

随着互联网的迅猛发展,Web应用的普及程度也愈发广泛。然而,随之而来的是各种安全威胁的不断涌现,其中最为常见而危险的之一就是跨站脚本攻击(Cross-Site Scripting,简称XSS)。XSS攻击一直以来都是Web安全领…

HMM(Hidden Markov Model)详解——语音信号处理学习(三)(选修一)

参考文献: Speech Recognition (Option) - HMM哔哩哔哩bilibili 2020 年 3月 新番 李宏毅 人类语言处理 独家笔记 HMM - 6 - 知乎 (zhihu.com) 隐马尔可夫(HMM)的解码问题维特比算法 - 知乎 (zhihu.com) 本次省略所有引用论文 目录 一、介绍 二、建模单…

MATLAB中imbothat函数用法

目录 语法 说明 示例 使用底帽和顶帽滤波增强对比度 imbothat函数的功能是对图像进行底帽滤波。 语法 J imbothat(I,SE) J imbothat(I,nhood) 说明 J imbothat(I,SE) 使用结构元素 SE 对灰度或二值图像 I 执行形态学底帽滤波。底帽滤波计算图像的形态学闭运算&#…

从零开始,轻松打造个人化Chrome浏览器插件

说在前面 在我日常开发以及娱乐生活中,浏览器是我使用频率较高的一个应用,当我大学拥有第一部电脑开始,之后不论电脑换成什么,以及使用的是什么系统,我的首选浏览器都是Chrome,不仅仅是因为其速度快&#x…

Redis中的缓存穿透、雪崩、击穿(详细)

目录 一、概念 1. 缓存穿透(Cache Penetration) 解决方案: 2. 缓存雪崩(Cache Avalanche) 解决方案: 3. 缓存击穿(Cache Breakdown) 解决方案: 二、三者出现的根本原…

dbeaver连接amabri-hbase

目录 尝试过程 解决之道 总结 尝试过程 注意此章节为记录试错过程,无需跟随操作,仅作试错记录。真正操作方法请看“解决之道”章节 环境ambari安装的hbase2.1.6 使用apche phoenix默认驱动配置 备注:Apache Phoenix 是一个开源的、基于…

Amazon CodeWhisperer 使用体验

文章作者:STRIVE Amazon CodeWhisperer 是最新的代码生成工具,支持多种编程语言,如 java,js,Python 等,能减少开发人员手敲代码时间,提升工作效率。PS:本人是一名 CodeWhisperer 业余爱好者 亚马逊云科技开发者社区为开…

文件中找TopK问题

目录 1.解题思路2.创建一个文件并在文件中写入数据3.为什么要建立小堆而不建立大堆?4.如何在现有的数据中建立适合的大堆?5.代码实现 1.解题思路 TopK问题即是在众多数据中找出前K大的值,则可以根据堆的性质来实现,但在使用堆之前…

R语言gWQS包在加权分位数和回归模型的应用

在流行病学研究中,相较于单一因素的暴露,多因素同时暴露的情况更为常见。传统模型在评价多因素联合暴露时存在数据维度高、多重共线性等问题. WQS 回归模型的基本原理是通过分位数间距及加权的方法,将多种研究因素的效应综合成为一个指数&…

华为云cce负载配置时间同步

华为云cce将负载配置好之后,发现里面的时间与真实时间不同步,差了12小时,怎么办? 这时候就需要配置时间同步了。 华为云cce里面通过配置数据存储的路径来解决这个问题的,配置后,需要重启负载。 新建负载…