【Elasticsearch】Elasticsearch 中的节点角色

Elasticsearch 中的节点角色

  • 1.主节点(master)
    • 1.1 专用候选主节点(dedicated master-eligible node)
    • 1.2 仅投票主节点(voting-only master-eligible node)
  • 2.数据节点(data)
    • 2.1 内容数据节点(data_content)
    • 2.2 热数据节点(data_hot)
    • 2.3 温数据节点(data_warm)
    • 2.4 冷数据节点(data_cold)
    • 2.5 冷冻数据节点(data_frozen)
  • 3.ingest 节点
  • 4.仅协调节点
  • 5.远程节点(remote_cluster_client)
  • 6.机器学习节点(ml)
  • 7.转换节点(transform)
  • 8.节点角色和硬件配置的关系

Elasticsearch 7.9 版本开始引入 节点角色 的概念。

在 Elasticsearch 8.X 版本中,节点类型 升级为 节点角色。节点角色分得很细,包括 数据节点 角色、主节点 角色、ingest 节点 角色、热节点 角色等。

在这里插入图片描述

在 Elasticsearch 集群中,每个启动的 Elasticsearch 进程都可以叫作一个节点。以 Elasticsearch 8.X 版本集群为例,如果我们不手动设置节点角色,则默认节点角色为 cdfhilmrstw

在这里插入图片描述

节点角色缩写英文释义中文释义
ccold data node冷数据节点
ddata node数据节点
ffrozen data node冷冻数据节点
hhot data node热数据节点
iingest node数据预处理节点
lmachine learning node机器学习节点
mmaster-eligible node候选主节点
rremote cluster client node远程节点
scontent data node内容数据节点
ttransform node转换节点
wwarm data node温数据节点
/coordinating only node仅协调节点

当集群规模比较大之后(比如集群节点数大于 6 个),就需要手动设定、配置节点角色。

1.主节点(master)

主节点 在 Elasticsearch 集群中的关键作用主要体现在全局级别的管理上。例如,主节点负责管理 索引的创建或删除操作监控哪些节点是集群的成员,以及 确定将哪些分片分配给哪些节点。这种决策和管理的能力使主节点在维持整个集群稳定运行中扮演了重要角色。

此外,主节点还负责 存储重要的元数据,包括集群中每个索引的元数据和集群级别的元数据。特别地,主节点的 path.data 目录用于存放这些集群元数据信息,这是主节点不可或缺的功能。

因此,为了确保集群的稳定运行和有效管理,需要特别注意主节点的配置和维护。

拥有稳定的主节点对于集群健康非常重要。与早期版本不同,节点角色划分后,主节点又被细分为专用 候选主节点仅投票主节点

1.1 专用候选主节点(dedicated master-eligible node)

如果集群规模大、节点多,那么就有必要设置独立的 专用候选主节点,其配置如下。

node.roles: [ master ]

1.2 仅投票主节点(voting-only master-eligible node)

这类节点仅用于投票,它们不会被选为主节点。其硬件配置可以比专用候选主节点更低一些。仅投票主节点 的配置如下,其中 master 必不可少。

node.roles: [ master, voting only ]

🚀 关于集群主节点配置,要强调一点:高可用性集群 需要至少 3 个符合主节点资格的节点,其中至少两个不是仅投票节点。这样即使其中一个节点发生故障,该集群也能够选举出一个主节点。

2.数据节点(data)

数据节点 会在 Elasticsearch 集群中执行关键任务,包括 保存数据到硬盘或其他永久性存储设备上(通常称为 落地存储),以及执行各种数据处理操作(如数据添加、删除、修改、查询、搜索和聚合等)。

由于数据节点的功能包括对大量数据进行处理和保存,它们对硬件配置的需求相对较高,特别是对 CPU、内存和磁盘的需求。为了确保数据节点有效地处理这些任务并响应查询请求,我们需要在硬件配置上提供足够的资源。而选择性能强大的 CPU 以及提供充足的内存和磁盘空间,是确保数据处理效率和稳定性的关键。

使用专用数据节点的好处在于可以 让主节点和数据节点分离、各司其职

数据节点存储的内容如下:

  • 分片数据。
  • 每个分片对应的元数据。
  • 集群层面的元数据,如 setting 和索引模板。

数据节点的配置如下:

node.roles: [ data ]

在 Elasticsearch 多层冷热集群架构体系下,数据节点又可以细分如下。

  • 内容数据节点
  • 热数据节点
  • 温数据节点
  • 冷数据节点
  • 冷冻数据节点

2.1 内容数据节点(data_content)

内容数据节点 是一个节点角色,用于 指定具体的负责存储和搜索数据的节点。这个角色的主要功能是 处理和查询数据,包括文本、数字和地理位置等类型的数据。其具体职责如下:

  • 存储数据:将数据分片存储在节点上。
  • 搜索数据:处理来自客户端的搜索请求,并在本地分片中搜索数据。
  • 索引数据:对新数据进行索引操作,以便进行搜索和查询。
node.roles: [data_content]

2.2 热数据节点(data_hot)

热数据节点 的用途主要是保存 最近、最常访问 的热数据,即经常被访问和更新的数据。在数据生命周期的早期,数据通常处于活跃状态,会频繁读写。热数据节点通常配置在高性能硬件上,例如高速 SSD 存储和高性能 CPU。

node.roles: [data_hot]

2.3 温数据节点(data_warm)

温数据节点 的用途主要是保存 访问频次低很少更新 的时序数据。

node.roles: [data_warm]

2.4 冷数据节点(data_cold)

冷数据节点 的用途主要是保存 不经常访问通常不更新 的时序数据,可用于存储可搜索快照。

node.roles: [data_cold]

2.5 冷冻数据节点(data_frozen)

冷冻数据节点 的用途主要是保存 很少访问从不更新 的时序数据。

node.roles: [data_frozen]

注意 ⚠

  • 🚀 在配置节点角色时,data_hotdata_warmdata_cold 要和 data_content 一起配置而不要和原有的仅 data 节点角色一起配置了。
  • 🚀 如果仅设置 data_hot 而不设置 data_content 节点角色,则会导致集群数据写入后无法落地。
  • 🚀 data_hotdata_warmdata_cold 节点角色是标识性的角色,而数据实际落地存储还得靠 data_content 角色。

3.ingest 节点

这类节点通常 执行由预处理管道组成的预处理任务,后面会专门详细解读 ingest 数据预处理过程。

node.roles: [ ingest ]

4.仅协调节点

这类节点的作用类似于智能负载均衡器,负责路由分发请求、聚拢(或叫作收集,可理解为分发的反过程)搜索或聚合结果

配置为空则代表仅协调节点,如下所示。

node.roles: [ ]

5.远程节点(remote_cluster_client)

这类节点用于 跨集群检索跨集群复制

node.roles: [ remote_cluster_client ]

6.机器学习节点(ml)

机器学习节点 是一类特殊类型的节点,它专门用于运行机器学习功能。它们负责运行数据分析任务,如异常检测、预测和回归等。这类节点的功能是收费的,Elasticsearch 开源版本并不提供。

node.roles: [ ml, remote_cluster_client ]

7.转换节点(transform)

转换节点 是一个特殊类型的节点,负责执行数据转换任务。数据转换是指将数据从种格式或结构转换为另一种格式或结构的过程。在 Elasticsearch 中,这通常涉及对原始数据创建新的索引,并对新索引中的数据进行汇总、分组或其他转换操作,以便更有效地行分析和查询。

node.roles: [ transform, remote_cluster_client ]

8.节点角色和硬件配置的关系

角色描述存储内存计算网络
数据节点存储和检索数据极高
主节点管理集群状态
ingest 节点转换输入数据
机器学习节点机器学习极高极高
协调节点请求转发和合并检索结果

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

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

相关文章

网站漏洞扫描软件Burp suite和Xray安装应用及联合使用

目录 1、网站漏洞扫描软件应用-Burp suite 01 burp 扫描工具使用介绍: 02 burp 扫描工具安装过程: 1)获取扫描工具程序包 2)安装部署扫描工具 3)bp安装完毕的基础设置: 3.1)抓取浏览器访…

【数据分享】2013-2022年我国省市县三级的逐年SO2数据(excel\shp格式\免费获取)

空气质量数据是在我们日常研究中经常使用的数据!之前我们给大家分享了2000——2022年的省市县三级的逐年PM2.5数据和2013-2022年的省市县三级的逐年CO数据(均可查看之前的文章获悉详情)! 本次我们分享的是我国2013——2022年的省…

3D建模软件--犀牛Rhino for Mac

Mac分享吧 文章目录 效果一、下载软件二、开始安装1、双击运行软件,将其从左侧拖入右侧文件夹中,等待安装完毕2、应用程序显示软件图标,表示安装成功 三、运行测试安装完成!!! 效果 一、下载软件 下载软件…

dou dian滑块captchaBody

声明(lianxi a15018601872) 本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关! 前言(lianxi a…

从数据湖到湖仓一体:统一数据架构演进之路

文章目录 一、前言二、什么是湖仓一体?起源概述 三、为什么要构建湖仓一体?1. 成本角度2. 技术角度 四、湖仓一体实践过程阶段一:摸索阶段(仓、湖并行建设)阶段二:发展阶段方式一、湖上建仓(湖在下、仓在上)方式二:仓外…

AIGC高频产品面试题(二)

什么叫大模型,人工智能大模型是什么? 之前,人工智能大多针对特定的场景应用进行训练,生成的模型难以迁移到其他场景,属于“小模型”的范畴。整个训练过程中,不仅手工调参工作量大,还需要给机器“…

SQL实战宝典:快速上手数据库查询与优化

文章目录 SQL 速成手册SQL 的主要功能1、基本查询语句2、表操作语句3、数据操作语句4、函数与聚合操作5、子查询与联接6、高级操作7、性能优化与安全性 基本查询语句表操作语句数据操作语句函数与聚合操作子查询与联接高级操作性能优化与安全性 SQL 速成手册 SQL(S…

基于 Three.js 的 3D 模型加载优化

作者:来自 vivo 互联网前端团队- Su Ning 作为一个3D的项目,从用户打开页面到最终模型的渲染需要经过多个流程,加载的时间也会比普通的H5项目要更长一些,从而造成大量的用户流失。为了提升首屏加载的转化率,需要尽可能…

kotlin compose 实现应用内多语言切换(不重新打开App)

1. 示例图 2.具体实现 如何实现上述示例,且不需要重新打开App ①自定义 MainApplication 实现 Application ,定义两个变量: class MainApplication : Application() { object GlobalDpData { var language: String = "" var defaultLanguage: Strin…

ARM架构(一)—— ARMV8V9基础概念

目录 1.ARMCore的时间线2.ARM术语小结2.1 A64和arrch642.2ARM架构现在的5个系列2.3 微架构2.4 PE2.5 Banked2.6 ARM文档术语2.7 IMPLEMENTATION DEFINFD 和 DEPRECATED2.8 EL1t和EL1h 3 ARMv7的软件架构4 安全状态切换模型4.1 Secure state和Non-secure state介绍 5 Interproce…

Linux常用特殊符号

1、 > 和 >> 用法 这两个符号> 和 >> 主要区别如下: 符号>:覆盖现有文件,如果目录中不存在上述名称的文件,则创建一个文件。 符号>>:追加现有文件,如果目录中不存在上述名称的文…

Unity中UI系统3——UGUI

概述 基础知识 UGUI基础 六大基础组件 Canvas——渲染模式控制组件 Canvas Scaler —— 分辨率自适应组件 CanvasScaler——恒定像素模式 CanvasScaler——缩放模式 可以适当的自己去了解对数 CanvasScaler——恒定物理模式 CanvasScaler —— 3D模式 Graphic Raycaster——射线…

将mars3D导入自己的项目中

文章目录 Mars3D官方文档 一、打开自己的vite项目二、创建场景配置文件1.json文件路径 public\config\config.json2.创建组件定义文件路径 src\components\mars-work\mars-map.vue三、demo中引入四、必要样式 依赖文件 总结 Mars3D官方文档 一、打开自己的vite项目 我创建了一…

请你谈谈:spring bean的生命周期 - 阶段4:检查Aware相关接口

在Spring框架中,Aware 接口系列提供了一种机制,允许bean在初始化过程中感知到容器中的特定对象,如应用上下文(ApplicationContext)、Bean工厂(BeanFactory)等。如果你有一个用户自定义的对象&am…

2、如何发行自己的数字代币(truffle智能合约项目实战)

2、如何发行自己的数字代币(truffle智能合约项目实战) 1-Atom IDE插件安装2-truffle tutorialtoken3-tutorialtoken源码框架分析4-安装openzeppelin代币框架(代币发布成功) 1-Atom IDE插件安装 正式介绍基于web的智能合约开发 推…

分类损失函数 (一) torch.nn.CrossEntropyLoss()

1、交叉熵 是一种用于衡量两个概率分布之间的距离或相似性的度量方法。机器学习中,交叉熵常用于损失函数,用于评估模型的预测结果和实际标签的差异。公式: y:真是标签的概率分布,y:模型预测的概率分布 …

Kotlin泛型实化

内联函数 reified实现 1. 内联函数 内联函数中的代码会在编译的时候自动被替换到调用它的地方,这样的话也就不存在什么泛型擦除的问题了,因为代码在编译之后会直接使用实际的类型来替代内联函数中的泛型声明。 2. reified关键字 在Kotlin中&#xff0…

购物车案例(源码分享)

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 非常期待和您一起在这个小…

谷粒商城实战笔记-37-前端基础-Vue-基本语法插件安装

文章目录 一,v-model1,双向绑定2,vue的双向绑定2.1 html元素上使用指令v-model2.2 model中声明对应属性2.3,验证view绑定modelmodel绑定view 完整代码 二,v-on1,指令简介2,在button按钮中添加v-…

llama 2 改进之 RMSNorm

RMSNorm 论文:https://openreview.net/pdf?idSygkZ3MTJE Github:https://github.com/bzhangGo/rmsnorm?tabreadme-ov-file 论文假设LayerNorm中的重新居中不变性是可有可无的,并提出了均方根层归一化(RMSNorm)。RMSNorm根据均方根(RMS)将…