---
title: 核心组件介绍
description: "如图1所示为Elasticsearch的核心组件示例图，其中节点分为主节点（Master node）和从节点（Slave node），P和R代表分片以及其副本分片。"
url: https://www.hikunpeng.com/document/detail/zh/SRA/ecosystemEnable/elasticsearch/kunpeng_elasticsearch_02_0003.html
sourcePath: /source/zh/SRA/ecosystemEnable/elasticsearch/kunpeng_elasticsearch_02_0003.html
indexId: c8326ff81be89883f35bbeb24c82d9cd8635994166ec4bb5d3a09e463a4c259c79
---
# 核心组件介绍

如图1所示为Elasticsearch的核心组件示例图，其中节点分为主节点（Master node）和从节点（Slave node），P和R代表分片以及其副本分片。

图1 集群、节点与分片的示例图

#### 节点（Node）

节点是Elasticsearch集群中的一个服务器，它负责存储数据和处理客户端请求。节点可以通过配置文件或启动参数设置角色，如主节点、数据节点、采集节点（Ingest）、协调节点等，节点类型说明如表1所示。通常来说，在一个集群中，有一个主节点或多个从节点。


**表1 节点类型说明**

| 节点类型 | 说明 |
| --- | --- |
| 主节点 | 主节点是由集群节点选举产生，负责管理集群范围内的所有变更，例如增加、删除索引，或者增加、删除节点等。 |
| 数据节点 | 数据节点负责储存数据和执行索引、搜索等操作。 |
| 采集节点 | 采集节点负责预处理文档，在它们被索引之前执行各种转换。 |
| 协调节点 | 协调节点不存储数据，不执行数据处理，也不参与集群管理。其主要功能是处理路由请求、汇聚结果以及减轻数据节点压力。 |


#### 集群（Cluster）

集群是由一个或多个节点组成的，它们共同协作提供数据的存储和搜索服务。集群通过集群名称（cluster.name）来区分，同一个集群中的所有节点使用相同的集群名称，确保不同集群之间不会发生数据共享。集群节点共同承担数据存储和负载处理的压力，当有节点加入集群中或者从集群中移除节点时，集群将会重新平均分布所有的数据，保证每个节点负载均衡。


#### 索引（Index）


**表2 索引的基本概念说明**

| 基本概念 | 说明 |
| --- | --- |
| 索引 | 是数据存储的逻辑单元（类似于数据库），是具有相似特征的文档集合。索引可以包含一个或多个类型。 |
| 类型 | 类型类似于数据库中的表。文档类型使得在同一个索引中存储结构不同的文档时，只需要依据文档类型就可以找到对应的参数映射信息，方便文档的存储。 |
| 文档 | 文档是可以被索引的基本单位，特指最顶层结构或根对象序列化成的JSON数据。文档相当于数据库中的行。一个类型可以包含多个文档。 |
| 字段 | 字段是组成文档的最小单位。相当于数据库中的列。每个文档包含多个字段。 |


#### 分片（Shard）

分片是索引数据的子集，它可以将一个大的索引拆分成多个部分，分布在不同的节点上。每个分片是一个Lucene的实例。分片可以是主分片（Primary Shard）或副本分片（Replica Shard）。副本是分片的复制，可以提高数据的可用性和搜索性能。副本可以分布在不同的节点上，当主分片发生故障时，副本可以升级为主分片。
