前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【最佳实践】巡检项:Elasticsearch Service(ES)集群热点现象

【最佳实践】巡检项:Elasticsearch Service(ES)集群热点现象

原创
作者头像
shanizeng
修改2023-03-28 11:46:19
1.1K0
修改2023-03-28 11:46:19
举报
文章被收录于专栏:腾讯云顾问腾讯云顾问

报错现象

集群中的某些节点的资源使用率远高于其他节点。

通过监控观察:

1分钟负载的最大值和和平均值相差较大

通过 cerebro 观察:

部分节点负载情况明显高于其他节点

报错分析

热点主要是以下几种原因造成:

1、分片在节点之间分布不均匀,导致业务请求 ES 集群时负载不均;

2、用户侧业务存在热点,频繁请求某些数据分片造成热点;

3、索引未配置副本,导致查询请求聚集于分片所处的节点。

注:在分片分布均匀的情况下,如果查询请求中指定了routing参数,也会导致查询请求聚集于某一部分分片,造成请求不均匀。

解决方案

临时解决方案(以下操作均建议在有副本的情况下使用):

1、节点监控中找到负载最高的节点,重启高负载节点;

2、登录 cerebro 将高负载节点上的副本分片迁移至低负载节点。

选中分片
选中分片
根据需求迁移分片
根据需求迁移分片

长期优化建议:

1、单个索引的主分片与副本分片数之和是集群数据节点的整数倍;

2、分片容量,主要分为写入和查询两个场景

【写多读少场景】索引单分片10g~20g,多分片有利于写入。同时若对数据高可用性要求不高,可以不设置副本;

【读多写少场景】索引单分片20g~40g,尽量减少分片数,可以降低热点。当分片数过多时,就容易出现长尾子请求,即有可能部分子请求因节点异常或 Old GC、网络抖动等延迟响应,导致整个请求响应缓慢。另一方面,拆分过多的子请求无法提升数据节点请求吞吐,不能充分利用 CPU。在尽量减少主分片数的情况下,同时也可以适当增加副本数,从而提升查询吞吐;

3、在遵循单分片设计原则的前提下,预测出索引最终大小,并根据集群节点数设计索引分片数量,使分片尽量平均分布在各个节点。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 报错现象
  • 报错分析
  • 解决方案
相关产品与服务
Elasticsearch Service
腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档