节点
每个 Elasticsearch 实例, 就是一个节点。一个或多个相互连通的节点组成一个集群。
- 集群内的请求类型分为2种:节点间的
transport traffic 传输信号
, 客户端的HTTP请求
。 - 节点具有
transport 层
和http层
, 分别处理transport traffic 传输信号
和HTTP请求
。 - 所有节点都知道集群中的其他节点,并且可以将客户端的请求转发到适合的节点进行处理。
节点角色
-
主合格节点 Master-eligible node
具有master
角色的节点,使其有资格被 选为控制集群 的主节点。主节点负责轻量级集群范围的操作,例如创建或删除索引、跟踪哪些节点是集群的一部分,以及决定将哪些分片分配给哪些节点。
- 创建专用的主合格节点
主节点master
对集群健康很重要,如果选出的主节点被其他任务超载,那么集群将无法正常运行。
可以通过设置单一职责功能的主节点使集群高可用node.roles: [ master ]
- 仅投票的主合格节点
voting-only master-eligible node
voting-only master-eligible node 仅投票的主合格节点
不允许成为master, 只能在选举阶段参与投票功能。node.roles: [ master, voting_only ]
- 创建专用的主合格节点
-
数据节点 Data node
具有data
角色的节点,数据节点保存数据并执行数据相关操作,例如 CRUD、搜索和聚合。
具有该data角色的节点可以填充任何专门的数据节点角色:data_content
,data_hot
,data_warm
,data_cold
,data_frozen
-
创建专用的用数据节点
node.roles: [ data ]
-
data_content
-.- 内容数据节点是内容层的一部分。 存储在内容层中的数据通常是项目的集合,例如产品目录或文章存档。
-.- 与时间序列数据不同,内容的价值随着时间的推移保持相对恒定,因此随着时间的推移将其移动到具有不同性能特征的层是没有意义的。
-.- 为了弹性,应将内容层中的索引配置为使用一个或多个副本。
-.- 内容层是必需的
。不属于数据流的系统索引和其他索引会自动分配给内容层。node.roles: [ data_content ]
-
data_hot
-.- 热数据节点是热层的一部分。时间序列数据time series data
首先存储的位置便是热层。
-.- 热层中的节点需要快速读取和写入,这需要更多的硬件资源和更快的存储 (SSD)。
-.- 为了弹性,应将热层中的索引配置为使用一个或多个副本。
-.- 热层是必需的
。新的数据流索引会自动分配给内容层。node.roles: [ data_hot]
-
data_warm
-.- 暖数据节点是暖层的一部分。存储在热层的时间序列数据time series data
一旦查询的频率低于最近索引的数据, 便会移动到暖层。
-.- 暖层通常保存最近几周的数据。仍然允许更新,但可能不频繁。
-.- 为了弹性,应将暖层中的索引配置为使用一个或多个副本。node.roles: [ data_warm ]
-
data_cold
-.- 冷数据节点是冷层的一部分。当您不再需要定期搜索时间序列数据时,它可以从暖层移动到冷层。
-.- 虽然仍可搜索,但此层通常针对较低的存储成本而不是搜索速度进行了优化。node.roles: [ data_cold]
-
data_frozen
-.- 冻结数据节点是冻结层的一部分。一旦数据不再被查询或很少被查询,它可能会从冷层移动到冻结层,并在其余生中停留。node.roles: [ data_frozen]
-
-
协调节点Coordinating node
协调节点用于处理客户端的 搜索 或 批量索引 等请求。例如, 客户端的搜索请求可能会涉及多个不同数据节点的数据:
- 在分散阶段,协调节点将请求转发给持有数据的数据节点。每个数据节点在本地执行请求并将其结果返回给协调节点。
- 在收集阶段,协调节点将每个数据节点的结果减少为单个全局结果集。
客户端请求可能会打在任何一个集群节点上,每一个节点隐含地是协调节点。
- 仅协调节点
-.- 如果您取消了处理主要职责、保存数据和预处理文档的能力,那么您将只剩下一个协调节点,该节点只能路由请求、处理搜索缩减阶段和分发批量索引。本质上,仅协调节点充当智能负载平衡器。node.roles: [ ]
采集节点 Ingest node
具有ingest
角色的节点。采集节点能够将采集管道应用于文档,以便在索引之前转换transform
和丰富enrich
文档。远程合格节点 Remote-eligible node
具有remote_cluster_client
角色的节点,使其有资格充当远程客户端。机器学习节点 Machine learning node
具有ml
角色的节点。如果要使用机器学习功能,集群中必须至少有一个机器学习节点。转换节点 Transform node
具有transform
角色的节点。如果要使用变换功能,集群中必须至少有一个变换节点。