Elasticsearch Node节点角色

https://www.elastic.co/guide/en/elasticsearch/reference/7.15/modules-node.html

 

默认情况下,集群中的每个节点都可以处理HTTP和Transport。Transport专门用于节点之间的通信;REST客户端使用HTTP层。

 

所有节点都知道集群中的所有其他节点,并且可以将客户端请求转发到适当的节点。

 节点角色可以通过配置 node.roles:[...]

默认情况下,节点具有以下角色:

  • master
  • data
  • data_content
  • data_hot
  • data_warm
  • data_cold
  • data_frozen
  • ingest
  • ml
  • remote_cluster_client
  • transform

 

Master-eligible node master候选节点。有角色master,有资格被选举为master。索引和搜索数据可能会占用大量资源,因此在大型或高吞吐量集群中,最好避免使用符合主节点的节点来执行索引和搜索等任务。

主节点负责轻量级集群范围的操作,例如创建或删除索引、跟踪哪些节点是集群的一部分,以及决定将哪些碎片分配给哪些节点。对于集群健康来说,拥有一个稳定的主节点非常重要。

任何拥有 非仅投票 的主节点候选人,都可以通过主节点选举成为主节点。

主节点必须具有对数据/目录的访问权限(就像数据节点一样),因为这是在节点重新启动之间保持集群状态的地方。

 

高可用群集需要至少三个符合主节点条件的节点,其中至少两个不是仅投票的节点。

由于只投票的节点永远不会充当集群的选定主节点,因此它们所需的堆和CPU可能比真正的主节点少。但是,所有符合主节点条件的节点(包括仅投票节点)都需要相当快的持久性存储和到集群其余部分的可靠、低延迟的网络连接,因为它们位于发布集群状态更新的关键路径上。

仅投票节点可以补充集群的投票机器数量,例如,节点可以是数据节点和仅投票的主节点。

 

Data node  数据节点。有角色data ,同时具有content hot warn cold frozen角色,存放数据,操作数据的CRUD、search、agg。

这些操作是I/O、内存和CPU密集型操作。专用数据节点的好处是将master角色和data角色分离。

data_content、data_hot、data_warm、data_cold、data_frozen是data的具体化角色,用于数据分层。

 

Ingest node  处理ingest pipeline的节点。有角色ingest 。ingest pipeline能够在索引前进行过滤、转换等动作。如果ingest的负载较大,应该把master、data节点的node.ingest设置false,让ingest专用节点来处理比较合适。

Remote-eligible node  有角色remote_cluster_client。

Machine learning node  机器学习节点。有角色ml 。

Transform node Transform节点。有角色transform。

Coordinating node  协调节点。用于处理搜索请求或批量索引请求。所有节点都隐式属于协调节点,而不能禁用。如果node.masternode.data and node.ingest 都设为 false,则该节点就是专用的协调节点,这样的节点需要有足够的内存和CPU来处理收集阶段。

 

综合来讲,在较大规模的集群中,把node的角色分离是非常有意义的,可以提高集群的性能、稳定性

 

posted on 2021-10-21 13:33  icodegarden  阅读(265)  评论(0编辑  收藏  举报