1、DiscoveryNodeRole
其包含以下几种类型的角色
在7.x中通过属性node.roles来定义节点角色,其为数组形式。
1.1 master
是具有成为master节点资格的节点。主节点负责集群内的元数据(Cluster State)相关的操作,如创建索引或删除索引,跟踪哪些节点是集群的一部分以及确定将哪些shard分配给哪些节点。
定义形式为node.roles:[master]或者node.master:true
1.2 data
数据节点包含已建立索引的文档的分片。数据节点处理与数据相关的操作,如crud, 搜索和聚合
定义形式为node.roles:[master]或者node.data:true
1.3 ingest
摄取节点可以执行由一个或多上ingest processor组成的预处理pipeline,用于对写入或者查询的数据进行预处理,即将部分client需要预处理的工作放到server端。
定义形式为node.roles:[ingest]或者node.ingest:true
1.4 remote_cluster_client
充当跨集群客户端并连接到其他集群,连接后,可以使用跨集群搜索来搜索远程集群。可以使用跨集群复制在集群之间同步数据。
定义形式为node.roles:[remote_cluster_client]或者node.remote_cluster_client:true
1.5 data_cold
存储只读索引,该索引的访问频率较低。该层使用性能较低的硬件,并且可能会复用可搜索的快照索引来最大程度地减少所需的资源。
定义形式为node.roles:[data_cold]或者node.data_cold:true(值取决于是否有数据角色)
1.6 data_hot
可以将明显具有时间属性的数据写入到该节点上,能够快速进行读写操作,并且需要更多的硬件资源。
定义形式为node.roles:[data_hot]或者node.data_hot:true(值取决于是否有数据角色)
1.7 data_warm
该节点存储的索引不再定期更新,仍在查询中。查询量通常比索引处于热层时的频率低。性能较低的硬件通常可用于此层中的节点。
定义形式为node.roles:[data_warm]或者node.data_warm:true(值取决于是否有数据角色)
1.8 data_frozen
专门存储部分安装的索引。
定义形式为node.roles:[data_frozen]或者node.data_frozen:true(值取决于是否有数据角色)
1.9 data_content
存储用户创建的内容,对应着通用部署中的data角色,用于存储在多层部署结构中不需要进行冷热数据分享的索引数据,可以理解为通用数据处理角色。
定义形式为node.roles:[data_content]或者node.data_content:true(值取决于是否有数据角色)
1.10 ml
机器学习节点提供了机器学习功能,运行作业并处理机器学习API请求。
定义形式为node.roles:[ml]或者node.ml:true(值取决于xpack.ml.enabled)
1.11 transform
转换节点运行转换并处理转换API请求。
定义形式为node.roles:[transform]或者node.transform:true(值取决于是否有数据角色包含冷热等)
1.12 voting_only
只能参与主节点的投票选举环节,但是自己不能被选举为master
定义形式为node.roles:[voting_only]或者node.voting_only:true