ES的脑裂现象

2024-04-30 08:28
文章标签 es 现象 脑裂

本文主要是介绍ES的脑裂现象,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

  • 0 集群结点的职责
  • 1 什么是脑裂现象
  • 2 造成脑裂现象的原因
    • 2.1 网络问题(最常见)
    • 2.2 主节点负载过大,资源耗尽,别的结点ping不到主节点
    • 2.3 主节点JVM内存回收时间过长导致
  • 3 脑裂现象的解决方案
    • 3.1 局域网部署
    • 3.2 角色分离(单一职责原则,一个节点只做一件事)
    • 3.3 延长超时设置
    • 3.4 提高主节点选举票数✦✦✦ 【官方默认】-->过半选举机制

0 集群结点的职责

在这里插入图片描述

  • master节点:对CPU要求高,但是内存要求低
  • data节点:对CPU和内存要求都高
  • coordinating节点:对网络带宽、CPU要求高

1 什么是脑裂现象

在ElasticSearch集群初始化或者主节点宕机的情况下,由候选主节点中选举其中一个作为主节点。指定候选主节点的配置为:node.master:true。
当主节点负载压力过大,或者集群环境中的网络问题,导致其他节点与主节点通讯的时候,主节点没来及响应,这样的话,某些节点就认为主节点宕机,重新选择新的主节点,这样的话整个集群的工作就有问题了,比如我们集群中有10个节点,其中7个候选主节点,1个候选主节点成为了主节点,这种情况是正常的情况。但是如果现在出现了我们上面所说的主节点响应不及时,导致其他某些节点认为主节点宕机而重选主节点,那就有问题了,这剩下的6个候选主节点可能有3个候选主节点去重选主节点,最后集群中就出现了两个主节点的情况,这种情况官方成为“脑裂现象”。
集群中不同的节点对于master的选择出现了分歧,出现了多个master竞争,导致主分片和副本的识别也发生了分歧,把一些分歧中的分片标识为了坏片。

总结起来,脑裂现象就是:因主节点节点访问阻塞或者网络不可用导致出现分区,不同分区选举出不同的主节点的现象

2 造成脑裂现象的原因

2.1 网络问题(最常见)

集群间的网络延迟导致一些节点访问不到master,认为master挂掉了从而选举出新的master

2.2 主节点负载过大,资源耗尽,别的结点ping不到主节点

主节点的角色既为master又为data,访问量较大时可能会导致ES停止响应造成大面积延迟,此时其他节点得不到主节点的响应认为主节点挂掉了,会重新选取主节点。

2.3 主节点JVM内存回收时间过长导致

  • data节点上的ES进程占用的内存较大,引发JVM的大规模内存回收,造成ES进程失去响应。
  • STW:stop the world 人垃圾回收期间,会把任务线程挂起,然后等垃圾回收结束后,在继续执行;假如STW耗时过长,也会导致主节点超时的问题。

3 脑裂现象的解决方案

3.1 局域网部署

主节点和备选主节点尽量部署在同一个局域网(同一个机房内),这样网络环境更下安全可靠,信息传输效率也高;

3.2 角色分离(单一职责原则,一个节点只做一件事)

master节点与data节点分离,限制角色;数据节点时需要承担存储和搜索的工作的,压力会很大。所以如果该节点同时作为候选主节点和数据节点,那么一旦选上它作为主节点了,这时主节点的工作压力将会非常大,出现脑裂现象的概率就增加了。

3.3 延长超时设置

置主节点的响应时间,在默认情况下,主节点3秒没有响应,其他节点就认为主节点宕机了,那我们可以把该时间设置得长一点,该配置是:discovery.zen.ping_timeout:5

3.4 提高主节点选举票数✦✦✦ 【官方默认】–>过半选举机制

  • 触发discovery.zen.minimum_master_nodes:1(以前默认是1,最新版本票数过半),该属性定义的是为了形成一个集群,有主节点资格并互相连接的节点的最小数目

  • 举例:一个有10节点的集群,且每个节点都有成为主节点的资格,discovery.zen.minimum_master_nodes参数设置为6。

    正常情况下,10个节点,互相连接,大于6,就可以形成一个集群。

    若某个时刻,其中有3个节点断开连接。剩下7个节点,大于6,继续运行之前的集群。而断开的3个节点,小于6,不能形成一个集群。该参数就是为了防止脑裂的产生;

    说白了,就像班级投票,每人只能投一票,如果有一半多的人投了A,则必然投票B的人小于一半,这样就避免脑裂问题了;

  • 建议设置为(候选主节点数/2)+1。

这篇关于ES的脑裂现象的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

ElasticSearch的DSL查询⑤(ES数据聚合、DSL语法数据聚合、RestClient数据聚合)

目录 一、数据聚合 1.1 DSL实现聚合 1.1.1 Bucket聚合  1.1.2 带条件聚合 1.1.3 Metric聚合 1.1.4 总结 2.1 RestClient实现聚合 2.1.1 Bucket聚合 2.1.2 带条件聚合 2.2.3 Metric聚合 一、数据聚合 聚合(aggregations)可以让我们极其方便的实现对数据的统计、分析、运算。例如:

温差电现象

温差电现象练习题 1. 两种不同的金属A和B构成温差电偶,冷端温度为0℃,热端温度为T,塞贝克系数为αAB,写出热电势的表达式。 2. 什么是温差电动势?它与哪些因素有关? 3. 解释珀尔帖效应和汤姆逊效应,并说明它们之间的区别。 4. 一块长为10cm,截面积为1mm2 的铜条,两端温度差为100K,铜的电导率为5.8×107 S/m,计算通过铜条的热流密度。 5. 一个温差电偶的热电

OpenGL ES学习总结:基础知识简介

什么是OpenGL ES? OpenGL ES (为OpenGL for Embedded System的缩写) 为适用于嵌入式系统的一个免费二维和三维图形库。 为桌面版本OpenGL 的一个子集。 OpenGL ES管道(Pipeline) OpenGL ES 1.x 的工序是固定的,称为Fix-Function Pipeline,可以想象一个带有很多控制开关的机器,尽管加工

OpenGL ES 2.0渲染管线

http://codingnow.cn/opengles/1504.html Opengl es 2.0实现了可编程的图形管线,比起1.x的固定管线要复杂和灵活很多,由两部分规范组成:Opengl es 2.0 API规范和Opengl es着色语言规范。下图是Opengl es 2.0渲染管线,阴影部分是opengl es 2.0的可编程阶段。   1. 顶点着色器(Vert

【银河麒麟高级服务器操作系统实例】虚拟化平台系统服务中断现象分析及处理建议

服务器环境以及配置 【机型】虚机 处理器: Kunpeng-920 内存: 40G 【内核版本】 4.19.90-23.8.v2101.ky10.aarch64 【OS镜像版本】 银河麒麟操作系统 Kylin-Server-10-SP1-Release-Build20-20210518-arm64 【第三方软件】 智能运维系统、mysql数据集群 现象描述 环境描

Elastic Stack--ES集群加密及Kibana的RBAC实战

前言:本博客仅作记录学习使用,部分图片出自网络,如有侵犯您的权益,请联系删除 学习B站博主教程笔记:  最新版适合自学的ElasticStack全套视频(Elk零基础入门到精通教程)Linux运维必备—ElasticSearch+Logstash+Kibana精讲_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1VMW3e6Ezk/?sp

期货赫兹量化-种群优化算法:进化策略,(μ,λ)-ES 和 (μ+λ)-ES

进化策略(Evolution Strategies, ES)是一种启发式算法,旨在模仿自然选择的过程来解决复杂的优化问题,尤其在没有显式解、或搜索空间巨大的情况下表现良好。基于自然界的进化原理,进化策略通过突变、选择等遗传算子迭代生成解,并最终寻求全局最优解。 进化策略通常基于两个核心机制:突变和选择。突变是对当前解进行随机扰动,而选择则用于保留适应度更高的个体。本文详细介绍了 (μ,λ)-ES

鸿蒙(API 12 Beta6版)图形加速【OpenGL ES平台内插模式】超帧功能开发

超帧内插模式是利用相邻两个真实渲染帧进行超帧计算生成中间的预测帧,即利用第N-1帧和第N帧真实渲染帧预测第N-0.5帧预测帧,如下图所示。由于中间预测帧的像素点通常能在前后两帧中找到对应位置,因此内插模式的预测帧效果较外插模式更优。由于第N帧真实渲染帧需要等待第N-0.5帧预测帧生成并送显后才能最终送显,因此会新增1~2帧的响应时延。 OpenGL ES平台 业务流程 基于OpenGL

ES实现百亿级数据实时分析实战案例

点击上方蓝色字体,选择“设为星标” 回复”资源“获取更多资源 背景 我们小组前段时间接到一个需求,希望能够按照小时为单位,看到每个实验中各种特征(单个或组合)的覆盖率、正样本占比、负样本占比。我简单解释一下这三种指标的定义: 覆盖率:所有样本中出现某一特征的样本的比例正样本占比:所有出现该特征的样本中,正样本的比例负样本占比:所有出现该特征的样本中,负样本的比例 光看这三个指标,大家可能会觉得

【硬刚ES】ES基础(二十一) 单字符串多字段查询:Multi Match

本文是对《【硬刚大数据之学习路线篇】从零到大数据专家的学习指南(全面升级版)》的ES部分补充。