官方文档:
https://www.elastic.co/guide/en/elasticsearch/reference/7.13/modules-node.html
概念
含义:
一个es实例就是一个node 多个node组成Cluster
协议:
node与node之间:transport层协议
node与客户端之间:http协议
查看node命令:
GET _cat/nodes?v
node roles
1.master
(1)主节点 active node
功能:
具有投票 && 选举,配置voting-only角色都不可以成为active角色
注意事项:
1.避免重负载:尽量负责轻量级集群范围的操作,避免做CRUD数据的操作
2.主节点必须有一个 path.data目录
(2)master-eligible角色
功能:
具有成为master节点资格的节点
候选节点/投票节点 master-eligible
分类:
(1)Dedicated master-eligible node 专用主节点
仅仅只配置一个master角色,专用主合格节点
投票+选举
配置:node.roles: [ master ]
场景:避免主节点因其他任务而过载,让仅具有主节点角色的专用主节点,让他们专注于管理集群
(2)Voting-only master-eligible node
仅投票的主合格节点,只有选举权,没有被选举权
配置:node.roles: [master, voting_only,.... ]
必须先具有master角色,在限制为voting-only,所以这种角色必须同时具有master和voting_only
也可以结合补充其他角色,一般充当数据节点避免资源浪费
HA框架中 voting_only可以使用设备稍微低一点物理机,节约资源
场景:解决脑裂问题
2.关于data
(1)data
功能
保存索引 文档 分片
进行数据CRUD 搜索 聚合
分离主角色和数据角色
专用数据节点
node.roles: [ data ]
场景:主角色和数据角色的分离
含有数据节点
node.roles: [ data, xxx ]
(2)关于冷热节点、 索引生命周期
data_content
存储用户创建的内容,支持 CRUD、搜索和聚合等操作
node.roles: [ data_content ]
data_hot
处理热点数据,高频访问
要求较好的硬件资源
node.roles: [ data_hot ]
data_warm
中频访问,不需要更新的数据
node.roles: [ data_warm ]
data_cold
低频访问+不再更新的数据,ILM过程中可待删除
node.roles: [ data_cold ]
data_frozen
数据冻结,一般专门存储部分安装的索引
3. ingest预处理节点
配合管道操作时候必要角色
管道:GET _ingest/pipeline
配置:node.roles: [ ingest ]
4. remote_cluster_client 远程节点
跨集群搜索必须的角色
配置:node.roles: [ remote_cluster_client ]
5. 其他
协调节点
不配置任何角色的节点
node.roles: [ ]
机器学习节点
用于处理机器学习的功能,一般都是配合集群使用
node.roles: [ ml, remote_cluster_client]
转换节点
X-pack专用角色,转换节点运行转换并处理转换 API 请求
node.roles: [ transform, remote_cluster_client ]
|