微服务框架 SpringCloud微服务架构 29 ES 集群 29.3 集群职责及脑裂
创始人
2024-03-29 17:15:01
0

微服务框架

【SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】

SpringCloud微服务架构

文章目录

      • 微服务框架
      • SpringCloud微服务架构
      • 29 ES 集群
        • 29.3 集群职责及脑裂
          • 29.3.1 ES 集群的节点角色
          • 29.3.2 ES集群的分布式查询
          • 29.3.3 ES 集群的脑裂
          • 29.3.4 总结

29 ES 集群

29.3 集群职责及脑裂

29.3.1 ES 集群的节点角色

elasticsearch中集群节点有不同的职责划分:

节点类型配置参数默认值节点职责
master eligiblenode.mastertrue备选主节点:主节点可以管理和记录集群状态、决定分片在哪个节点、处理创建和删除索引库的请求
datanode.datatrue数据节点:存储数据、搜索、聚合、CRUD
ingestnode.ingesttrue数据存储之前的预处理
coordinating上面3个参数都为false则为coordinating节点路由请求到其它节点 合并其它节点处理的结果,返回给用户

在这里插入图片描述

默认情况下ES 的集群节点,拥有这全部的角色,“身兼数职”

但是在实际开发中,肯定不能让一个节点身兼数职

【原因】

  • 不同的职责对硬件的需求不一样
  • 职责之间可能会产生相互影响

一个典型的ES 集群,肯定会把每个节点的职责做拆分,不同的节点做不同的事

【如何控制?】

29.3.2 ES集群的分布式查询

elasticsearch中的每个节点角色都有自己不同的职责,因此建议集群部署时,每个节点都有独立的角色。

在这里插入图片描述

这就是一个典型的ES 集群的结构

29.3.3 ES 集群的脑裂

默认情况下,每个节点都是master eligible节点,因此一旦master节点宕机,其它候选节点会选举一个成为主节点。当主节点与其他节点网络故障时,可能发生脑裂问题。

【举个栗子】

现在有三个节点

在这里插入图片描述

节点1 当选了主节点,剩下两个候选节点

假设现在发生了网络故障

在这里插入图片描述

现在node2 和 node3 无法与node1 取得连接了【现在就相当于集群分开了】

在这里插入图片描述

然后它俩可能就会以为“老大”挂了,就又选了一个主节点【现在的情况,集群中出现了两个主节点】

【进行一些数据交换后】

一旦网络恢复

在这里插入图片描述

就会出现不一致的情况,这样就出事儿了

为了避免脑裂,需要要求选票超过 ( eligible节点数量 + 1 )/ 2 才能当选为主,因此eligible节点数量最好是奇数。对应配置项是discovery.zen.minimum_master_nodes,在es7.0以后,已经成为默认配置,因此一般不会发生脑裂问题

29.3.4 总结

master eligible节点的作用是什么?

  • 参与集群选主
  • 主节点可以管理集群状态、管理分片信息、处理创建和删除索引库的请求

data节点的作用是什么?

  • 数据的CRUD

coordinator节点的作用是什么?

  • 路由请求到其它节点
  • 合并查询到的结果,返回给用户

相关内容

热门资讯

保存时出现了1个错误,导致这篇... 当保存文章时出现错误时,可以通过以下步骤解决问题:查看错误信息:查看错误提示信息可以帮助我们了解具体...
汇川伺服电机位置控制模式参数配... 1. 基本控制参数设置 1)设置位置控制模式   2)绝对值位置线性模...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
表格中数据未显示 当表格中的数据未显示时,可能是由于以下几个原因导致的:HTML代码问题:检查表格的HTML代码是否正...
本地主机上的图像未显示 问题描述:在本地主机上显示图像时,图像未能正常显示。解决方法:以下是一些可能的解决方法,具体取决于问...
表格列调整大小出现问题 问题描述:表格列调整大小出现问题,无法正常调整列宽。解决方法:检查表格的布局方式是否正确。确保表格使...
不一致的条件格式 要解决不一致的条件格式问题,可以按照以下步骤进行:确定条件格式的规则:首先,需要明确条件格式的规则是...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...