Elasticsearch核心架构:Node节点详解+角色功能全解析

张开发
2026/4/21 18:14:11 15 分钟阅读

分享文章

Elasticsearch核心架构:Node节点详解+角色功能全解析
Elasticsearch核心架构Node节点详解角色功能全解析一、前言二、基础定义什么是 Elasticsearch Node2.1 官方概念2.2 通俗理解2.3 节点核心特点三、节点与集群关系流程图四、Elasticsearch 节点的 5 大核心角色重点4.1 主节点角色Master Eligible4.2 数据节点角色Data4.3 协调节点角色Coordinating4.4 Ingest 节点角色Ingest4.5 机器学习节点ML五、节点角色功能架构图六、常用节点类型生产最常用6.1 默认节点默认配置6.2 专用主节点Master Only6.3 专用数据节点Data Only6.4 专用协调节点Coordinating Only七、节点核心功能总结八、节点关键配置elasticsearch.yml九、生产环境节点架构最佳实践9.1 标准生产三节点架构9.2 大型集群专用架构十、总结The Begin点点关注收藏不迷路一、前言在 Elasticsearch 分布式架构中Node节点是组成集群的最小独立服务单元也是所有数据存储、计算、搜索的真正载体。新手经常搞不懂节点是什么一个节点和集群有什么关系一个节点能承担哪些角色不同角色的节点有什么用本文从节点定义、核心特点、节点角色、功能作用、生产架构选型全方位讲解搭配流程图、对比表、架构图让你彻底掌握 ES 节点。二、基础定义什么是 Elasticsearch Node2.1 官方概念Node一个独立运行的Elasticsearch 进程实例本质是一台Java虚拟机进程。一个服务器可以运行一个或多个节点生产推荐一台机器一个节点多个节点组成集群Cluster每个节点有唯一节点名称和ID节点之间自动发现、自动通信、自动协同2.2 通俗理解Node节点 一台ES服务器Cluster集群 多个Node节点合在一起每个节点都能独立接收请求、存储数据、执行搜索2.3 节点核心特点独立进程单独启动、单独占用内存、单独占用端口自动组网相同集群名的节点会自动组成集群角色分工不同节点可承担不同任务对等通信节点之间地位平等无主从强依赖三、节点与集群关系流程图启动Node1 节点自动创建集群启动Node2 节点加入相同名称集群启动Node3 节点形成完整ES集群节点间自动同步状态、分配分片四、Elasticsearch 节点的 5 大核心角色重点ES 7.x 以后支持角色化节点每个节点可以配置一个或多个角色不同角色负责不同工作。4.1 主节点角色Master Eligible配置node.master: true核心功能管理集群负责工作创建/删除索引管理节点上下线维护集群元数据决定分片分配特点不处理业务数据不占CPU/IO生产建议3个专用主节点防止脑裂4.2 数据节点角色Data配置node.data: true核心功能存储数据 执行数据操作负责工作存储索引分片数据增删改查、搜索、聚合消耗CPU、内存、磁盘最高特点集群核心工作节点生产建议大部分节点都是数据节点4.3 协调节点角色Coordinating配置默认所有节点都是协调节点核心功能请求路由、结果合并负责工作接收客户端所有请求分发请求到数据节点合并结果返回给客户端特点类似网关/负载均衡生产建议高并发下使用专用协调节点4.4 Ingest 节点角色Ingest配置node.ingest: true核心功能数据预处理负责工作写入数据前进行字段转换、截取、 enrich类似轻量级 Logstash适用场景数据写入前需要清洗4.5 机器学习节点ML配置node.ml: true核心功能异常检测、数据分析适用场景AI 异常监控、日志智能分析五、节点角色功能架构图客户端请求协调节点主节点集群管理数据节点存储CRUD搜索Ingest节点数据预处理维护集群状态执行分片查询写入前数据清洗六、常用节点类型生产最常用6.1 默认节点默认配置角色master data ingest coordinating适用测试环境、单机环境生产不推荐6.2 专用主节点Master Only角色master(true) data(false)配置node.master:truenode.data:falsenode.ingest:false适用生产集群专用管理节点6.3 专用数据节点Data Only角色data(true) master(false)适用存储数据、执行查询6.4 专用协调节点Coordinating Only角色全部false只做请求转发适用高并发、大流量场景七、节点核心功能总结序号节点角色核心功能资源消耗生产数量1主节点集群管理、元数据维护低3个2数据节点数据存储、查询、聚合极高多个3协调节点请求分发、结果合并中高并发专用4Ingest节点数据预处理、写入清洗中可选5ML节点机器学习、异常检测高可选八、节点关键配置elasticsearch.yml# 集群名称相同集群名才能组网cluster.name:es-cluster# 节点名称node.name:es-node-1# 是否主节点node.master:true# 是否数据节点node.data:true# 绑定IP允许其他节点访问network.host:0.0.0.0# 集群发现地址discovery.seed_hosts:[node1,node2,node3]九、生产环境节点架构最佳实践9.1 标准生产三节点架构客户端负载均衡Node1主节点数据节点Node2主节点数据节点Node3主节点数据节点9.2 大型集群专用架构客户端协调节点层3个专用主节点N个数据节点Ingest预处理节点十、总结Node ES 独立进程 一个ES服务实例多个 Node 组成 Cluster 集群5大角色主节点、数据节点、协调节点、Ingest、ML核心角色主节点管集群数据节点存数据、做查询协调节点接收请求、合并结果生产最佳实践专用主节点 大量数据节点 协调节点一句话记住主节点管集群数据节点存数据协调节点接请求集群稳定靠分工The End点点关注收藏不迷路

更多文章