难点!干货!经验证!生产Elasticsearch超大集群中如何让主分片(shards)均匀分布,且不需要重启服务?(详细分析原因和解决之道)

本文主要是介绍难点!干货!经验证!生产Elasticsearch超大集群中如何让主分片(shards)均匀分布,且不需要重启服务?(详细分析原因和解决之道),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

    • 介绍,索引的主分片在es节点上分布不均匀
    • 问题分析,什么问题导致分布不均匀?
    • 解决方案
      • 步骤一、备份数据(若有备份,可忽略)
      • 步骤二、更改索引副本数
      • 步骤三、恢复索引副本集
    • 参考链接

介绍,索引的主分片在es节点上分布不均匀

elasticsearch在实际生产应用中,经常由于es节点的上下线检修维护,或则由于索引设置的调整,常常会导致索引主分片和副本分片分布不均匀的问题。由于elasticsearch中主分片主要用于写操作,副本分片用于读操作,不均匀的主分片和副本分片分布,可能导致数据的读写性能不稳定或性能下降。
elasticsearch 索引的主分片(primary shard)和副本分片(replica shard)在每个节点上分布不均匀。
elasticsearch 索引主分片和副本分片不均匀分布

问题分析,什么问题导致分布不均匀?

  • 节点上下线
    通常在下线一个es节点后,下线节点上存在的主分片会被检测掉丢失,elasticsearch集群会自动将其他节点上的副本分片设置为主分片,当该下线节点被重新拉起时,分片数据被识别,但均会被识别为副本分片。这些操作会导致一些节点的主分片比较集中,一些节点上的副本分片比较集中。
  • 大量较为集中的数据写入
    大量的数据集中写入,可能导致暂时的主分片不均匀的情况。当业务场景为写入较多时,设置了较多的ingest节点进行写入,由于无法及时同步,导致主分片节点较为集中。

tips: elasticsearch节点的主分片分布不均匀是否需要进行人为干预,取决于自己的业务场景,若仅有个别节点如此,则不会影响应用,可不进行干预。

  • 解决思路:
    备份数据后,将副本数设置为0,主分片重新分配后,恢复副本分片数。
    不适用范围:此方案用于主分片分布不均,不解决主分片和副本分片分布的问题,若要解决此问题,设置total_shards_per_node即可。

解决方案

其他方式:也可通过重启集群,重建索引等方式解决。

步骤一、备份数据(若有备份,可忽略)

备份数据是为了保证生产数据操作失误时,可及时通过别名映射,不至于数据丢失或影响业务应用。

# 备份索引数据
POST /_reindex?slices=20&timeout=100000s
{"source":{"index":"索引名","size":10000},"dest":{"index":"索引名"-copy-年月日"}
}# 查看备份数据
GET /索引名-copy-年月日# 重建索引的副本数默认为1,如果觉得不太稳,最好将副本数设置为2,待副本集完全复制后操作后续步骤
PUT /索引名-copy-年月日/_settings
{"number_of_replicas": 2
}

若不担心数据丢失,设置副本数步骤可忽略

步骤二、更改索引副本数

删除索引副本,让主分片均匀分布在各个节点

# 设置原有数据副本数为0
PUT /索引名/_settings
{"number_of_replicas": 0
}

操作前:
elasticsearch 索引的主分片没有均匀分布在es节点上
elasticsearch 索引的主分片没有均匀分布在es节点上
操作后:
elasticsearch 索引的主分片均匀分布在es节点上,但没有副本分片
elasticsearch 索引的主分片均匀分布在es节点上,但没有副本分片

步骤三、恢复索引副本集

# 重新设置副本集数量
PUT /索引名/_settings
{"number_of_replicas": 2
}

操作后:
elasticsearch 索引的主分片均匀分布在es节点上,副本分片也均匀分布在各个es节点上
elasticsearch 索引的主分片均匀分布在es节点上,副本分片也均匀分布在各个es节点上

至此,问题完美解决。遵循生产集群操作规范,因此需要格外谨慎。若大家有不同的问题,或更好的解决办法,欢迎大家补充。

参考链接

elasticsearch cluster reroute api 官方文档

这篇关于难点!干货!经验证!生产Elasticsearch超大集群中如何让主分片(shards)均匀分布,且不需要重启服务?(详细分析原因和解决之道)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/825948

相关文章

[职场] 护理专业简历怎么写 #经验分享#微信

护理专业简历怎么写   很多想成为一名护理方面的从业者,但是又不知道应该怎么制作一份简历,现在这里分享了一份护理方面的简历模板供大家参考。   蓝山山   年龄:24   号码:12345678910   地址:上海市 邮箱:jianli@jianli.com   教育背景   时间:2011-09到2015-06   学校:蓝山大学   专业:护理学   学历:本科

详细分析Springmvc中的@ModelAttribute基本知识(附Demo)

目录 前言1. 注解用法1.1 方法参数1.2 方法1.3 类 2. 注解场景2.1 表单参数2.2 AJAX请求2.3 文件上传 3. 实战4. 总结 前言 将请求参数绑定到模型对象上,或者在请求处理之前添加模型属性 可以在方法参数、方法或者类上使用 一般适用这几种场景: 表单处理:通过 @ModelAttribute 将表单数据绑定到模型对象上预处理逻辑:在请求处理之前

[职场] 公务员的利弊分析 #知识分享#经验分享#其他

公务员的利弊分析     公务员作为一种稳定的职业选择,一直备受人们的关注。然而,就像任何其他职业一样,公务员职位也有其利与弊。本文将对公务员的利弊进行分析,帮助读者更好地了解这一职业的特点。 利: 1. 稳定的职业:公务员职位通常具有较高的稳定性,一旦进入公务员队伍,往往可以享受到稳定的工作环境和薪资待遇。这对于那些追求稳定的人来说,是一个很大的优势。 2. 薪资福利优厚:公务员的薪资和

springboot家政服务管理平台 LW +PPT+源码+讲解

3系统的可行性研究及需求分析 3.1可行性研究 3.1.1技术可行性分析 经过大学四年的学习,已经掌握了JAVA、Mysql数据库等方面的编程技巧和方法,对于这些技术该有的软硬件配置也是齐全的,能够满足开发的需要。 本家政服务管理平台采用的是Mysql作为数据库,可以绝对地保证用户数据的安全;可以与Mysql数据库进行无缝连接。 所以,家政服务管理平台在技术上是可以实施的。 3.1

yolov3 上生产

1、在生产环境上编译darknet,执行make命令就好哦。  通过以后,拿到libdarknet.so 2、改一改../python/darknet.py文件 3、把darknet里的四个模型文件地址改一改就可以了     后面我会写一篇详细的,今天我要回家了

警告,恶意域名疯狂外联,原因竟然是……

前言    在某个风和日丽的下午,突然收到客户那边运维发过来的消息说我司的DTA设备在疯狂告警,说存在恶意域名外联,我急忙背上小背包前往客户现场,经过与客户协同排查,最终确定该事件为一起挖矿病毒引起的恶意域名外联事件。(因客户信息保密且为了保证文章逻辑完整性,部分截图为后期追加图) 事件分析 一看域名地址donate.v2.xmrig.com

为什么要做Redis分区和分片

Redis分区(Partitioning)和分片(Sharding)是将数据分布在多个Redis实例或多个节点上的做法。这种技术用于提高性能、可扩展性和可用性。以下是执行Redis分区和分片的主要原因: 1. **提高吞吐量**:    - 通过将数据分散到多个节点,可以并行处理更多的操作,从而提高整体吞吐量。 2. **内存限制**:    - 单个Redis实例的内存是有限的。分区允许数据

BD错误集锦8——在集成Spring MVC + MyBtis编写mapper文件时需要注意格式 You have an error in your SQL syntax

报错的文件 <?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.yuan.dao.YuanUserDao"><!

微服务中RPC的强类型检查与HTTP的弱类型对比

在微服务架构中,服务间的通信是一个至关重要的环节。其中,远程过程调用(RPC)和HTTP是两种最常见的通信方式。虽然它们都能实现服务间的数据交换,但在类型检查方面,RPC的强类型检查和HTTP的弱类型之间有着显著的差异。本文将深入探讨这两种通信方式在类型检查方面的优缺点,以及它们对微服务架构的影响。 一、RPC的强类型检查 RPC的强类型检查是其核心优势之一。在RPC通信中,客户端和服务端都使

中国341城市生态系统服务价值数据集(2000-2020年)

生态系统服务反映了人类直接或者间接从自然生态系统中获得的各种惠益,对支撑和维持人类生存和福祉起着重要基础作用。目前针对全国城市尺度的生态系统服务价值的长期评估还相对较少。我们在Xie等(2017)的静态生态系统服务当量因子表基础上,选取净初级生产力,降水量,生物迁移阻力,土壤侵蚀度和道路密度五个变量,对生态系统供给服务、调节服务、支持服务和文化服务共4大类和11小类的当量因子进行了时空调整,计算了