Elasticsearch集群架构

Elasticsearch是一种分布式搜索引擎,基于Apache Lucene构建,支持全文搜索、结构化搜索、分析和实时数据处理。

节点(Node)

节点可以分为以下几种类型:

  • 主节点(Master Node):负责集群的管理任务,如创建和删除索引、跟踪节点的加入和离开等。

  • 数据节点(Data Node):用于存储数据并执行与数据相关的操作(如搜索、聚合和索引)。大多数情况下,数据节点是集群中最重要的节点,因为它们会处理大多数请求。

  • 协调节点(Coordinating Node):负责将请求路由到适当的节点,并将结果聚合返回给客户。协调节点本身不存储任何数据。

  • 热备份节点(Replica Node):不用于主数据存储,而是为主节点分片提供备份。若主节点出现故障,副本将自动替代其功能,保证高可用性。

索引(Index)

索引是存储文档的地方,可以视为一个数据库。每个索引都有一个唯一的名称,用于在搜索时引用。索引中的数据通常以JSON格式存储,并可以通过REST API进行操作。

文档(Document)

文档是Elasticsearch中存储的基本信息单元,通常与数据库中的一行相对应。每个文档都有一个唯一的ID,且以JSON格式存储。文档包含多个字段,这些字段提供了文档的元数据或内容。

类型(Type)

在Elasticsearch 6.x及之前的版本中,类型用于表示一个索引中不同类别的文档。比如,一个用户索引可以包含"用户"和"管理员"类型。然而,从Elasticsearch 7.x版本开始,类型的支持逐渐被取消,每个索引现在应只包含一个类型。

分片(Shard)

分片是索引存储的基本单位。Elasticsearch使用分片来将数据均匀分布到集群中的不同节点上,从而提高处理性能和可扩展性。每个索引可以有多个主分片(primary shard)和副本分片(replica shard)。主分片存储数据,副本分片用于提供数据冗余和负载均衡。

分片副本(Replica Shard)

副本是主分片的副本。Elasticsearch会根据配置为主分片创建副本段,以便在主分片出现故障时,副本可以继续提供服务。此外,副本还用于承担查询负载,提高搜索性能。

相关推荐
WebInfra1 小时前
如何在程序中嵌入有大量字符串的 HashMap
算法·设计模式·架构
森焱森2 小时前
APM与ChibiOS系统
c语言·单片机·算法·架构·无人机
安思派Anspire3 小时前
LangGraph + MCP + Ollama:构建强大代理 AI 的关键(一)
前端·深度学习·架构
radient3 小时前
Golang-GMP 万字洗髓经
后端·架构
Code季风4 小时前
Gin Web 层集成 Viper 配置文件和 Zap 日志文件指南(下)
前端·微服务·架构·go·gin
鹏程十八少4 小时前
9.Android 设计模式 模板方法 在项目中的实战
架构
Code季风4 小时前
Gin Web 服务集成 Consul:从服务注册到服务发现实践指南(下)
java·前端·微服务·架构·go·gin·consul
武子康4 小时前
大数据-34 HBase 单节点配置 hbase-env hbase-site xml
大数据·后端·hbase
Edingbrugh.南空4 小时前
Hadoop MapReduce 入门
大数据·hadoop·mapreduce
huisheng_qaq4 小时前
【ElasticSearch实用篇-01】需求分析和数据制造
大数据·elasticsearch·制造