Master和DataNode未分离,导致集群不稳定

在ES集群中,节点分为Master、DataNode、Client等几种角色,任何一个节点都可以同时具备以上所有角色,其中比较重要的角色为Master和DataNode:

  • Master主要管理集群信息、primary分片和replica分片信息、维护index信息。
  • DataNode用来存储数据,维护倒排索引,提供数据检索等。

可以看到元信息都在Master上面,如果Master挂掉了,该Master含有的所有Index都无法访问,文档中说,为了保证Master稳定,需要将Master和Node分离。而构建master集群可能会产生一种叫做脑裂的问题,为了防止脑裂,需要设置最小master的节点数为eligible_master_number/2 + 1

脑裂的概念:
如果你有2个Master候选节点,并设置最小Master节点数为1,则当网络抖动或偶然断开时,2个Master都会认为另一个Master挂掉了,他们都被选举为主Master,则此时集群中存在两个主Master,即物理上1个集群变成了逻辑上的2个集群,而当其中一个Master再次挂掉时,即便它恢复后回到了原有的集群,在它作为主Master期间写入的数据都会丢失,因为它上面维护了Index信息。

根据以上理论,我对集群做了如下更改,额外选取3个独立的机器作为Master节点,修改elasticsearch.yml配置

node.master = true
node.data = false
discovery.zen.minimum_master_nodes = 2

修改其他节点配置,将其设置为DataNode,最后挨个重启

node.master = false
node.data = true

es配置中防止脑裂的配置相关推荐

  1. 架构师之路 — 部署架构 — 高可用集群 — 主备 HA 系统中的脑裂问题

    目录 文章目录 目录 脑裂(Split Brain) 脑裂的原因 防止脑裂的办法 Fence 技术 Keepalived vs Pacemaker 参考文档 脑裂(Split Brain) 在 HA( ...

  2. HA架构中的脑裂,什么是脑裂,怎样预防脑裂?

    在HA架构中有一个非常重要的问题,就是需要保证同一时刻只有一个处于Active状态的NameNode,否则就会出现两个NameNode同时修改命名空间的问题,也就是脑裂(split-brain).脑裂 ...

  3. keepalived中的脑裂

    在高可用(HA)系统中,当联系2个节点的"心跳线"断开时,本来为一整体.动作协调的HA系统,就分裂成为2个独立的个体.由于相互失去了联系,都以为是对方出了故障.两个节点上的HA软件 ...

  4. Nginx的配置中与流量分发相关的配置规范:

    1.除首页外,其他页面都在某个目录中 首页可以直接在根目录下,其他页面都要在根目录下的目录中. 不同的location尽量使用第一个dir的模式进行区分,便于区分该流量是落在nginx本地,还是转发到 ...

  5. spring配置中加载properties文件方法

    首先,遇到一个问题,spring配置中加载properties文件配置如下: <context:property-placeholder ignore-unresolvable="tr ...

  6. Elasticsearch之集群脑裂

    集群脑裂是什么? 所谓脑裂问题(类似于精神分裂),就是同一个集群中的不同节点,对于集群的状态有了不一样的理解. 由于某些节点的失效,部分节点的网络连接会断开,并形成一个与原集群一样名字的集群,这种情况 ...

  7. 高可用集群的脑裂问题

    本文来说下集群的脑裂问题 文章目录 什么是脑裂(split-brain) 集群脑裂产生的原因 如何预防HA集群脑裂 什么是Fence设备 本文小结 什么是脑裂(split-brain) 在" ...

  8. 脑裂的解决方案与监控

    文章目录 1. 概述 2. 脑裂产生的原因 3. 脑裂常见的解决方案 4. 配置zabbix监控脑裂 1. 概述 什么是脑裂? 在高可用(HA)系统中,当联系2个节点的"心跳线"断 ...

  9. keepalived MySQL 脑裂_keepalived 脑裂解决思路

    (主从模式)脑裂问题 上述主从配置方式存在脑裂的可能,即两个节点实际都处于正常工作状态,但是无法接收到彼此的组播通知,这时两个节点均强行绑定虚拟IP,导致不可预料的后果. 这时就需要设置仲裁,即每个节 ...

最新文章

  1. unity中单位是米还是厘米_【一步数学】小学数学单位换算公式大全及专项训练...
  2. 在vivado里用rtl描述_如何利用Vivado HLS处理许多位准确或任意精度数据类型
  3. vue 转换信息为二进制 并实现下载
  4. REST+EJB+JPA 框架在 Eclipse+TomEE 的开发环境搭建
  5. LeetCode答案汇总(持续更新...)
  6. CAD快捷键命令大全
  7. Xcode ImageOptim Compress PNG Files
  8. 用Python通过摄像头进行视频录制
  9. 水果店差别定价策略,水果店的单品定价公式
  10. 易绍坤网络赚钱:淘宝客获取佣金网赚之路,该如何进行?
  11. 5G网络入门基础--5G网络的架构与基本原理
  12. Oracle 历史数据表迁移方案
  13. 《Linear Graph Convolutional Model for Diagnosing Brain Disorders Zarina》阅读笔记
  14. ASO优化:为什么要做APP竞品分析
  15. 6. 彤哥说netty系列之Java NIO核心组件之Buffer
  16. Win7 更新 80072EFE 错误
  17. KDDAC-10kV 电缆交流耐压及振荡波局放测试系统
  18. Vue和SpringBoot打造中学生家校互联系统
  19. PDF去除空白页py脚本
  20. c语言 求特殊方程的正整数解

热门文章

  1. web前端【第九篇】JS的DOM对象三
  2. Linux下tmp文件夹的文件自动删除的问题(转)
  3. BZOJ 2244: [SDOI2011]拦截导弹 DP+CDQ分治
  4. .NET出现频率非常高的笔试题
  5. C#调试中,在VS的输出窗口或即时窗口显示消息
  6. 常见java考试题与面试题一
  7. SVN Access Manager 0.5.5.14 发布 - SVN 管理工具
  8. SEAndroid策略介绍1
  9. MTK 快速开机 技术详解
  10. Web前端开发标准规范