当前位置: 首页 > news >正文

【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 节点转换输入数据
机器学习节点机器学习极高极高
协调节点请求转发和合并检索结果

相关文章:

【Elasticsearch】Elasticsearch 中的节点角色

Elasticsearch 中的节点角色 1.主节点(master)1.1 专用候选主节点(dedicated master-eligible node)1.2 仅投票主节点(voting-only master-eligible node) 2.数据节点(data)2.1 内容…...

pip install与apt install区别

pipapt/apt-get安装源PyPI 的 python所有依赖的包软件、更新源、ubuntu的依赖包 1 查看pip install 安装的数据包 命令 pip list 2 查看安装包位置 pip show package_name参考 https://blog.csdn.net/nebula1008/article/details/120042766...

分表分库是一种数据库架构的优化策略,用于处理大规模数据和高并发请求,提高数据库的性能和可扩展性。

分表分库是一种数据库架构的优化策略,用于处理大规模数据和高并发请求,提高数据库的性能和可扩展性。以下是一些常见的分表分库技术方案: 1. **水平分表(Horizontal Sharding)**: - 将单表数据根据某个…...

【ffmpeg命令入门】获取音视频信息

文章目录 前言使用ffmpeg获取简单的音视频信息输入文件信息文件元数据视频流信息音频流信息 使用ffprobe获取更详细的音视频信息输入文件信息文件元数据视频流信息音频流信息 总结 前言 在处理多媒体文件时,了解文件的详细信息对于调试和优化处理过程至关重要。FFm…...

【IoTDB 线上小课 05】时序数据文件 TsFile 三问“解密”!

【IoTDB 视频小课】持续更新!第五期来啦~ 关于 IoTDB,关于物联网,关于时序数据库,关于开源... 一个问题重点,3-5 分钟详细展开,为大家清晰解惑: IoTDB 的 TsFile 科普! 了解了时序数…...

python-爬虫实例(4):获取b站的章若楠的视频

目录 前言 道路千万条,安全第一条 爬虫不谨慎,亲人两行泪 获取b站的章若楠的视频 一、话不多说,先上代码 二、爬虫四步走 1.UA伪装 2.获取url 3.发送请求 4.获取响应数据进行解析并保存 总结 前言 道路千万条,安全第一条 爬…...

C# yaml 配置文件的用法(一)

目录 一、简介 二、yaml 的符号 1.冒号 2.短横杆 3.文档分隔符 4.保留换行符 5.注释 6.锚点 7.NULL值 8.合并 一、简介 YAML(YAML Aint Markup Language)是一种数据序列化标准,广泛用于配置文件、数据交换和存储。YAML的设计目标是…...

人工智能与机器学习原理精解【4】

文章目录 马尔科夫过程论要点理论基础σ代数定义性质应用例子总结 马尔可夫过程概述一、马尔可夫过程的原理二、马尔可夫过程的算法过程三、具体例子 马尔可夫链的状态转移概率矩阵一、确定马尔可夫链的状态空间二、收集状态转移数据三、计算转移频率四、构建状态转移概率矩阵示…...

Go channel实现原理详解(源码解读)

文章目录 Go channel详解Channel 的发展Channel 的应用场景Channel 基本用法Channel 的实现原理chan 数据结构初始化sendrecvclose使用 Channel 容易犯的错误总结Go channel详解 Channel 是 Go 语言内建的 first-class 类型,也是 Go 语言与众不同的特性之一。Channel 让并发消…...

数据结构-C语言-排序(4)

代码位置: test-c-2024: 对C语言习题代码的练习 (gitee.com) 一、前言: 1.1-排序定义: 排序就是将一组杂乱无章的数据按照一定的规律(升序或降序)组织起来。(注:我们这里的排序采用的都为升序) 1.2-排…...

灰色关联分析【系统分析+综合评价】

系统分析: 判断哪个因素影响最大 基本思想:根据序列曲线几何形状的相似程度来判断其练习是否紧密 绘制统计图并进行分析 确定子序列和母序列 对变量进行预处理(去量纲、缩小变量范围) 熟练使用excel与其公式和固定&#xff08…...

linux 部署flask项目

linux python环境安装: https://blog.csdn.net/weixin_41934979/article/details/140528410 1.创建虚拟环境 python3.12 -m venv .venv 2.激活环境 . .venv/bin/activate 3.安装依赖包(pip3.12 install -r requirements.txt) pip3.12 install -r requirements.txt 4.测试启…...

ES6 数值的扩展(十八)

1. 二进制和八进制字面量 特性:可以直接在代码中使用二进制(0b 或 0B)和八进制(0o 或 0O)字面量。 用法:简化二进制和八进制数值的表示。 const binaryNumber 0b1010; // 二进制表示 10 const octalNumb…...

面试知识储备-redis和redission

1.redis的使用 引入依赖,自动注解redistemplate即可使用, 默认的redistemplate存入到redis中是字符流的形式,需要配置redistemplate, 如果不想配置,可以使用stringRedistemplate 可以使用string类型,但是…...

【5本可选】保证知网检索,现在投稿可在8月见刊,对文科领域友好

AEPH出版社旗下有5本学术期刊,专门出版自然科学、社会科学研究与教育领域论文的高影响力期刊,拥有正规ISSN号,出版类型涉及应用和理论方面的原创和未曾公开发表的研究论文,分配独立DOI号。 期刊1 Philosophy and Social Science…...

SpringBoot入门:如何新建SpringBoot项目(保姆级教程)

在本文中,我们将演示如何新建一个基本的 Spring Boot 项目。写这篇文章的时候我还是很惊讶的,因为我发现有些java的初学者,甚至工作10年的老员工居然并不会新建一个SpringBoot项目,所以特别出了一篇文章来教大家新建一个SpringBoo…...

数据恢复篇:适用于 Android 视频恢复的 6 个工具

在智能手机这个动态的世界里,每一刻都被捕捉并以数字方式存储,丢失珍贵的视频可能是一种令人心碎的经历。不必担心,因为 Android 生态系统提供了大量旨在挽救这些珍贵回忆的视频恢复应用程序。 这些应用程序是强大的工具,旨在挽救…...

Android笔试面试题AI答之控件Views(6)

答案来着文心一言,仅供参考 目录 1.简述什么是RemoteViews?使用场景有哪些?RemoteViews的特性使用场景总结 2.获取View宽高的几种方法?1. 在onWindowFocusChanged方法中获取2. 使用ViewTreeObserver.OnGlobalLayoutListener3. 使用ViewTreeObserver.OnPreDrawLi…...

扭蛋机潮玩小程序搭建,扭蛋机行业的创新

在当下潮玩市场中,扭蛋机具有盲盒的未知性和惊喜体验感,商品丰富,并且价格相对低廉,获得了极高的人气。年轻人开始对扭蛋机逐渐“上头”,为了扭到喜欢的商品不断地进行复购下单,在这场随机性的扭蛋游戏中&a…...

supOS赋能千行百业

推进制造业数字化转型是促进数字经济和实体经济深度融合的重点领域。在长期摸索和实践过程中,蓝卓打造了工厂操作系统、行业云操作系统、产业大脑操作系统三大产品,形成了企业侧、行业侧、产业侧的立体化赋能体系,全面赋能工业企业&#xff0…...

RestClient

什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端,它允许HTTP与Elasticsearch 集群通信,而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级&#xff…...

uni-app学习笔记二十二---使用vite.config.js全局导入常用依赖

在前面的练习中,每个页面需要使用ref,onShow等生命周期钩子函数时都需要像下面这样导入 import {onMounted, ref} from "vue" 如果不想每个页面都导入,需要使用node.js命令npm安装unplugin-auto-import npm install unplugin-au…...

CMake基础:构建流程详解

目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...

大数据零基础学习day1之环境准备和大数据初步理解

学习大数据会使用到多台Linux服务器。 一、环境准备 1、VMware 基于VMware构建Linux虚拟机 是大数据从业者或者IT从业者的必备技能之一也是成本低廉的方案 所以VMware虚拟机方案是必须要学习的。 (1)设置网关 打开VMware虚拟机,点击编辑…...

React Native在HarmonyOS 5.0阅读类应用开发中的实践

一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强,React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 (1)使用React Native…...

相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)

【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...

2023赣州旅游投资集团

单选题 1.“不登高山,不知天之高也;不临深溪,不知地之厚也。”这句话说明_____。 A、人的意识具有创造性 B、人的认识是独立于实践之外的 C、实践在认识过程中具有决定作用 D、人的一切知识都是从直接经验中获得的 参考答案: C 本题解…...

Netty从入门到进阶(二)

二、Netty入门 1. 概述 1.1 Netty是什么 Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients. Netty是一个异步的、基于事件驱动的网络应用框架,用于…...

Windows安装Miniconda

一、下载 https://www.anaconda.com/download/success 二、安装 三、配置镜像源 Anaconda/Miniconda pip 配置清华镜像源_anaconda配置清华源-CSDN博客 四、常用操作命令 Anaconda/Miniconda 基本操作命令_miniconda创建环境命令-CSDN博客...

elementUI点击浏览table所选行数据查看文档

项目场景&#xff1a; table按照要求特定的数据变成按钮可以点击 解决方案&#xff1a; <el-table-columnprop"mlname"label"名称"align"center"width"180"><template slot-scope"scope"><el-buttonv-if&qu…...