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

ES的典型架构图及其核心组件

以下是Elasticsearch(ES)的典型架构图及其核心组件的说明:


Elasticsearch 架构图

+---------------------------------------------------+
|                    Elasticsearch Cluster          |
|                                                   |
|  +----------------+       +----------------+     |
|  |   Node 1       |       |   Node 2       |     |
|  | +------------+ |       | +------------+ |     |
|  | |   Master    | |       | |   Data      | |     |
|  | +------------+ |       | +------------+ |     |
|  | +------------+ |       | +------------+ |     |
|  | |   Data      | |       | |   Ingest    | |     |
|  | +------------+ |       | +------------+ |     |
|  +----------------+       +----------------+     |
|                                                   |
|  +----------------+       +----------------+     |
|  |   Node 3       |       |   Node 4       |     |
|  | +------------+ |       | +------------+ |     |
|  | |   Data      | |       | |   Coord.    | |     |
|  | +------------+ |       | +------------+ |     |
|  | +------------+ |       | +------------+ |     |
|  | |   Ingest    | |       | |   Data      | |     |
|  | +------------+ |       | +------------+ |     |
|  +----------------+       +----------------+     |
|                                                   |
+---------------------------------------------------+

架构图说明

1. 集群(Cluster)
  • ES集群由多个节点(Node)组成,共同存储数据并提供搜索和分析服务。
  • 集群通过分布式架构实现高可用性和扩展性。
2. 节点(Node)

节点是集群的基本单元,分为以下几种类型:

  1. 主节点(Master Node)
    • 负责集群管理,如索引创建、节点加入和分片分配。
    • 一个集群通常有多个候选主节点,但只有一个活跃主节点。
  2. 数据节点(Data Node)
    • 存储索引数据并执行数据操作(如搜索、聚合)。
    • 数据节点是集群的核心,负责实际的数据存储和计算。
  3. 协调节点(Coordinating Node)
    • 负责接收客户端请求,并将请求路由到相关节点。
    • 协调节点不存储数据,主要用于负载均衡和请求分发。
  4. Ingest节点
    • 负责数据预处理(如数据转换、字段提取)。
    • 在数据写入索引之前,Ingest节点可以对数据进行加工。
3. 索引(Index)
  • 索引是ES中存储数据的基本单位,类似于关系数据库中的表。
  • 一个索引可以包含多个分片(Shard),分片是数据的物理存储单元。
4. 分片(Shard)
  • 分片是索引的子集,分为主分片(Primary Shard)和副本分片(Replica Shard)。
  • 主分片用于存储数据,副本分片用于提供高可用性和负载均衡。
  • 分片数量在索引创建时指定,后续不能修改。
5. 文档(Document)
  • 文档是ES中的基本数据单元,格式为JSON。
  • 每个文档存储在一个索引中,并通过唯一ID标识。
6. 分布式特性
  • 数据分布:索引数据分布在多个节点的分片上。
  • 高可用性:通过副本分片实现数据冗余,确保节点故障时数据不丢失。
  • 扩展性:可以通过增加节点来扩展集群的存储和计算能力。

数据流示例

  1. 客户端发送请求到协调节点。
  2. 协调节点将请求路由到相关数据节点。
  3. 数据节点执行搜索或写入操作,并将结果返回给协调节点。
  4. 协调节点将结果聚合后返回给客户端。

典型应用场景

  1. 日志分析:与Logstash和Kibana集成,构建ELK堆栈。
  2. 全文搜索:支持高效的全文搜索和模糊查询。
  3. 实时分析:用于监控和实时数据分析。
  4. 安全日志监控:结合告警功能,实现实时安全事件检测。

总结

Elasticsearch的架构图展示了其分布式、高可用和可扩展的特性。通过合理设计集群、节点和索引,可以满足多种应用场景的需求。


http://www.kler.cn/a/545819.html

相关文章:

  • 网络安全之攻防笔记--web安全攻防
  • 基于Python、使用`pandas`库和`Brightway2`库实现根据Excel表格某一列内容与数据库进行匹配
  • 【Uniapp】关于实现下拉刷新的三种方式
  • 中国通信企业协会 通信网络安全服务能力评定 证书使用说明
  • 从零开始学Python爬虫:(一)爬虫前言
  • 微信小程序请求大模型监听数据块onChunkReceived方法把数据解析成json
  • 网络安全架构师怎么考 网络安全 架构
  • 如何解决ChatGPT API响应慢的问题
  • Git 建立远端仓库并push
  • Node.js入门篇
  • docker-compose.yml 详细教学
  • 爬虫学习第五篇环境的准备工作
  • LeetCode数学相关算法题(1)【C语言版】
  • deepseek-r1落地指南(搭建web-ui | 搭建本地代码编辑器)
  • MySQL 安装配置(完整教程)
  • DeepSeek教unity------UI框架
  • C++ 学习之旅:基础语法学习
  • npm 私服使用介绍
  • HCIA项目实践--RIP的拓展配置
  • Spring Cloud + Nacos + K8S 零影响发布方案