永久删除 Elasticsearch 中的主节点

Elasticsearch 是一个开源分布式搜索和分析引擎,用于各种任务,例如全文搜索、日志分析和实时数据分析。 Elasticsearch 集群由一个或多个节点组成,每个节点可以具有多种角色,包括主节点(master node)、数据节点 (data node)、摄取节点 (ingest node) 和机器学习节点 (machine learning node)。

在本文档中,我们将重点讨论从 Elasticsearch 集群中永久删除一个主节点。 在各种场景中可能需要此操作,例如重组集群或通过添加新节点来扩展集群。

当前和所需的集群配置

在所提供的示例中,当前的 Elasticsearch 集群由两个具有所有角色的节点和一个 master-voting-only 节点组成。 后者是参与主节点选举投票的节点,但不保存数据或处理搜索或索引请求。

目标是通过添加三个新节点来扩展集群。 这些新节点之一将被指定为主节点,而现有的仅主投票节点将被删除。 此外,其中两个新节点将具有除主节点之外的所有角色。

  • 当前配置:2 个节点(所有角色)+ 1 个 master-voting-only 节点
  • 所需配置:3 个节点(所有角色)+ 2 个节点(除主节点外的所有角色)

为什么需要三个主节点?

更多关于 Elasticsearch 节点的描述,请参考文章 “Elasticsearch 中的一些重要概念: cluster, node, index, document, shards 及 replica”。

在 Elasticsearch 集群中,主节点负责集群范围内的轻量级操作,例如创建或删除索引、确定将哪些分片分配给新节点以及删除不响应的节点。

拥有单个主节点会导致单点故障,如果该节点发生故障,可能会导致停机。 拥有两个主节点可能会导致 “裂脑 (split brain)” 情况,如果两个主节点彼此失去连接,集群就会分为两个独立的集群,每个集群都有自己的主节点。

为了避免这些问题,建议集群中至少有三个符合主节点资格的节点。 原因是 Elasticsearch 使用基于仲裁的投票系统来选举主节点。 仲裁的计算方式为 (master_eligible_nodes / 2) + 1。因此,在三节点集群中,至少有两个节点需要同意选举新的主节点,以防止出现裂脑情况。

主节点删除流程

从 Elasticsearch 集群中删除主节点可以通过关闭该节点来执行。 但是,需要注意的是,即使在删除该节点后,集群也可能会继续 “记住” 该节点。 这是因为 Elasticsearch 维护了一个符合条件的主节点列表,以保证集群的稳定性。

删除 master-voting-only 节点并添加新节点后,集群仍将具有三个主节点。 这些节点将形成新的集合,根据 Elasticsearch 的共识算法,这些节点中的任何两个都足以形成法定人数并做出有关集群的决策。

节点角色分配

关于将除 “master” 之外的所有角色分配给节点,可以通过在节点的 yml 配置文件中显式指定所有角色来完成。

例如,如果你希望一个节点具有除 master 之外的所有角色,你可以在节点的 yml 配置文件中指定,如下所示:

node.roles: [ data, ingest, ml, remote_cluster_client, transform ]

在此示例中,除主角色之外的所有角色都分配给该节点。

自动删除不可用的主节点

Elasticsearch 有一项功能,可以自动从投票配置中删除不可用的主节点。 此功能由 cluster.auto_shrink_voting_configuration 属性控制,需要将其设置为 true。 启用此属性后,如果节点关闭,Elasticsearch 将 “最终” 从投票配置中删除任何不可用的主节点。

结论

从 Elasticsearch 集群中删除主节点是一项复杂的操作,需要深入了解集群配置以及此类操作的含义。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/442065.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

橱窗宝石 - 华为OD统一考试

OD统一考试&#xff08;C卷&#xff09; 分值&#xff1a; 100分 题解&#xff1a; Java / Python / C 题目描述 橱窗里有一排宝石&#xff0c;不同的宝石对应不同的价格&#xff0c;宝石的价格标记为 gems[i],0<i<n, n gems.length 宝石可同时出售0个或多个&#xff…

uniapp微信小程序-分包

一、为什么要分包 微信小程序每个分包的大小是2M&#xff0c;总体积一共不能超过20M,当然你也可以提升启动速度&#xff0c;降低首次加载时间&#xff0c;模块化开发&#xff0c;按需加载&#xff0c;提高性能。 二、分包步骤 1.首先在 mainfest.json mp-weixin添加以下代码&a…

Java学习笔记(十一)——常用类

一、包装类 &#xff08;一&#xff09;包装类和基本数据类型的转换 ​编辑 &#xff08;二&#xff09;包装类型和String类型的相互转换 &#xff08;三&#xff09;Integer类和Character类的常用方法 二、String &#xff08;一&#xff09;创建String对象的两种方式 …

【正则表达式】获取html代码文本内所有<script>标签内容

文章目录 一. 背景二. 思路与过程1. 正则表达式中需要限定<script>开头与结尾2. 增加标签格式的限定3. 不限制<script>首尾的内部内容4. 中间的内容不能出现闭合的情况 三. 结果与代码四. 正则辅助工具 一. 背景 之前要对学生提交的html代码进行检查&#xff0c;在…

数字孪生智慧能源电力Web3D可视化云平台合集

前言 能源电力的经济发展是中国式现代化的强大动力&#xff0c;是经济社会发展的必要生产要素&#xff0c;电力成本变化直接关系到工业生产、交通运输、农业生产、居民生活等各个方面&#xff0c;合理、经济的能源成本能够促进社会用能服务水平提升、支撑区域产业发展&#xf…

AMiner平台简介

AMiner是由清华大学计算机科学与技术系教授唐杰率领团队建立的&#xff0c;具有完全自主知识产权的新一代科技情报分析与挖掘平台。&#xff08;摘自用户手册&#xff09; 按照惯例我们给出网址&#xff1a;https://www.aminer.cn 我们来一起探索一下相关板块及应用。 1.科研…

PHP面试问答总结持续更新...

问题与简答 PHP 篇 echo、print、print_r、var_dump 区别 echo和print是语言结构、print_r和var_dump是普通函数 echo&#xff1a;输出一个或多个字符串 print&#xff1a;输出字符串 print_r&#xff1a;打印关于变量的易于理解的信息 var_dump&#xff1a;打印关于变量的…

在充满未知变化的市场社会环境里,实现组织结构与管理方式的自我进化

一、教程描述 本套教程立足于充满变化的市场社会环境&#xff0c;以管理者的素养作为切入点&#xff0c;从组织创新的角度&#xff0c;剖析企业可持续发展的内核与共性&#xff0c;并且提供了一套完整的实践方法论&#xff0c;可以帮助管理者在环境变化中&#xff0c;搭建一个…

Python面向对象编程:探索代码的结构之美

文章目录 一、引言二、为什么学习面向对象编程2.1 提高代码的可维护性&#xff1a;通过封装、继承和多态实现模块化设计2.2 提升代码的复用性&#xff1a;通过类和对象的创建实现代码的重用 三、类和对象的基本概念3.1 类和对象的定义和关系&#xff1a;类是对象的模板&#xf…

Vue(十九):ElementUI 扩展实现树形结构表格组件的勾父选子、半勾选、过滤出半勾选节点功能

效果 原理分析 从后端获取数据后,判断当前节点是否勾选,从而判断是否勾选子节点勾选当前节点时,子节点均勾选全勾选与半勾选与不勾选的样式处理全勾选和全取消勾选的逻辑筛选出半勾选的节点定义变量 import {computed, nextTick, reactive, ref} from vue; import {tree} f…

3D数据转换器HOOPS Exchange如何获取模型的几何数据? 干货预警!

一、概述 前面讲解过模型在内存中的结构&#xff0c;现在回顾一下&#xff0c;当模型导入成功后&#xff0c;整个模型数据会以原生结构的 PRC 组装树形式存放到内存中。&#xff08;申请 HOOPS Exchange 试用&#xff09; PRC结构的主要类型包含四种&#xff0c;分别是…

jdk17新特性—— instanceof的模式匹配

目录 一、instanceof模式匹配的概述二、instanceof模式匹配代码示例2.1、jdk17之前 instanceof用法 代码示例2.2、jdk17及之后 instanceof用法 代码示例一2.3、jdk17及之后 instanceof用法 代码示例二 一、instanceof模式匹配的概述 instanceof增加了模式匹配功能&#xff0c;…