《Elastic(中国)基础开发宝典》——大规模测试新的 Elasticsearch 冷层可搜索快照

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 《Elastic(中国)基础开发宝典》——大规模测试新的 Elasticsearch 冷层可搜索快照

在这篇博客中,我们将带您了解一下我们为确保冷层在大规模部署中完美运行而探 索过的场景,这些研究探索突显了我们高度重视解决方案的质量和可靠性。


1. 冷层知识回顾


冷层仅将主分片保留在本地存储上,不需要副本分片,而是依靠快照来提供必要的 弹性,从而降低了集群成本。本地存储本质上类似于存储库中快照数据的缓存版本。


在冷节点或本地存储运行不正常的情况下,可搜索快照将自动恢复,并将分片重新 平衡到其他节点上。


在全集群重启或滚动重启(或节点重启)的情况下,本地存储是持久性的,本地可 用的数据将不会从快照中重新下载,从而最大限度地减少恢复为绿色集群所需的时 间,并避免不必要的网络成本。


为了确保所有这些工作在大规模部署时能按预期进行,我们将验证工作集中在3个 场景上,所有场景都使用以下配置:


5 Elasticsearch 节点16G );

采用RAID-0配置的62TB磁盘

5TB的日志数据快照,分布在10个索引中,每个索引有5个分片,强制合并为 一个段(强制合并可优化索引以提高读取访问性能,并减少发生故障时需要恢 复的文件数量)。


2. 场景1 :全集群重启


我们验证的第一个场景是全集群重启。为了验证这一点,我们完成了以下步骤:


1)挂载5TB可搜索快照并等待本地缓存完全预热0阶段)


2)根据全集群重启指南执行一次全集群重启;


3)重新启用分配后,测量集群需要多长时间:

 变为绿色状态;

 完成所有后台下载以预热缓存。


4)确保在第3步之后没有额外的分片重新平衡。


得益于Elasticsearch7.11版新引入的持久层,启动所有节点并重新启用分配后,集 群状态立即变为了绿色,不再发生后台下载。


下面我们可以看到挂载期间(第0阶段)和全集群重新启动并重新启用分配(第1 阶段,没有额外的网络流量)后的累积网络流量:

image.png

 

3.场景2:滚动重启

我们验证的第二种场景是滚动集群重启这一常见情况。


这个实验与全集群重启类似:


1)挂载5TB可搜索快照并等待本地缓存完全预热


2)通过在停止每个节点之前禁用分片分配,为第一个节点执行滚动重启过程;


3)启动节点并在重新启用分片分配后,测量集群状变为绿色态所需的时间。由于 有持久缓存,我们预计这个过程会很快。此外,我们还查明了每次重启后是否 会发生不必要的后台下载;


4)对集群中的所有其他节点重复第2步和第3步。


这个实验也很成功多亏了在Elasticsearch7.11版中引入的持久缓存,集群状态几 乎是瞬间变绿,并且没有从快照中进行额外的后台下载。


4,场景3:节点崩溃


最后,我们希望确保在某个节点崩溃时能够执行正确的行为。我们进行了以下实验:


1)挂载5TB可搜索快照并等待本地缓存完全预热0阶段)


2)5个节点中,终止一个Elasticsearch节点(使用SIGKILL终止节点1)并等 待集群再次变为绿色(第1阶段):

确保后台下载与从已终止节点托管的分片接收数据相关;

变为绿色后,不应进行额外的重新平衡。


3)再次启动故障节点(第2阶段):

   • 只应进行对等恢复(因为所有数据都存在于其余4个节点上)来重新平衡分片;

集群应变为绿色。


再一次,这个实验也成功了。终止节点1后,其余节点会(从可搜索快照)自动恢 复缺失节点托管的分片。


集群变为绿色后,没有发生额外的重新平衡,具体见下图,其中直观显示了每个节点的网络流量:

image.png

在恢复缺失的节点后,便开始对等恢复,节点1最终再次托管了必要数量的分片, 以达到一个均匀分布的集群。

image.png

 

5.即刻开始使用


这个功能验证过程让我们非常激动,我们希望它也能引起您的兴趣!


要开始使用可搜索快照以及在冷层存储数据,既可在Elastic Cloud上快速部署一个 集群也可安装最新版本的Elastic Stack。已经在运行Elasticsearch?只需将集群 升级到7.11即可开始试用。如果希望了解更多信息,请阅读数据层和可搜索快照文档。

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
1月前
|
存储 自然语言处理 BI
|
2天前
|
存储 缓存 固态存储
Elasticsearch高性能搜索
【11月更文挑战第1天】
14 6
|
1天前
|
API 索引
Elasticsearch实时搜索
【11月更文挑战第2天】
7 1
|
11天前
|
编解码 人工智能 自然语言处理
迈向多语言医疗大模型:大规模预训练语料、开源模型与全面基准测试
【10月更文挑战第23天】Oryx 是一种新型多模态架构,能够灵活处理各种分辨率的图像和视频数据,无需标准化。其核心创新包括任意分辨率编码和动态压缩器模块,适用于从微小图标到长时间视频的多种应用场景。Oryx 在长上下文检索和空间感知数据方面表现出色,并且已开源,为多模态研究提供了强大工具。然而,选择合适的分辨率和压缩率仍需谨慎,以平衡处理效率和识别精度。论文地址:https://www.nature.com/articles/s41467-024-52417-z
34 2
|
1月前
|
测试技术 网络安全
什么是软件测试? 软件测试都有什么岗位 ?软件测试和调试的区别? 软件测试和开发的区别? 一位优秀的测试人员应该具备哪些素质? 软件测试等相关概念入门篇
文章全面介绍了软件测试的基本概念、目的、岗位分类、与开发和调试的区别,并阐述了成为优秀测试人员应具备的素质和技能。
136 1
什么是软件测试? 软件测试都有什么岗位 ?软件测试和调试的区别? 软件测试和开发的区别? 一位优秀的测试人员应该具备哪些素质? 软件测试等相关概念入门篇
|
21天前
|
人工智能 监控 测试技术
云应用开发平台测试
云应用开发平台测试
36 2
|
24天前
|
人工智能
云端问道12期-构建基于Elasticsearch的企业级AI搜索应用陪跑班获奖名单公布啦!
云端问道12期-构建基于Elasticsearch的企业级AI搜索应用陪跑班获奖名单公布啦!
168 2
|
30天前
|
SQL 分布式计算 NoSQL
大数据-170 Elasticsearch 云服务器三节点集群搭建 测试运行
大数据-170 Elasticsearch 云服务器三节点集群搭建 测试运行
38 4
|
28天前
|
自然语言处理 搜索推荐 关系型数据库
elasticsearch学习六:学习 全文搜索引擎 elasticsearch的语法,使用kibana进行模拟测试(持续更新学习)
这篇文章是关于Elasticsearch全文搜索引擎的学习指南,涵盖了基本概念、命令风格、索引操作、分词器使用,以及数据的增加、修改、删除和查询等操作。
17 0
elasticsearch学习六:学习 全文搜索引擎 elasticsearch的语法,使用kibana进行模拟测试(持续更新学习)
|
28天前
|
Web App开发 JavaScript Java
elasticsearch学习五:springboot整合 rest 操作elasticsearch的 实际案例操作,编写搜索的前后端,爬取京东数据到elasticsearch中。
这篇文章是关于如何使用Spring Boot整合Elasticsearch,并通过REST客户端操作Elasticsearch,实现一个简单的搜索前后端,以及如何爬取京东数据到Elasticsearch的案例教程。
162 0
elasticsearch学习五:springboot整合 rest 操作elasticsearch的 实际案例操作,编写搜索的前后端,爬取京东数据到elasticsearch中。

相关产品

  • 检索分析服务 Elasticsearch版