节点类型

不同角色的节点
Master/Data/Ingest/Coordinating/Machine Learning
生产环境
根据数据量,写入和查询的吞吐量,选择合适的部署方式
建议设置单一角色的节点(dedicated node)

节点参数配置

一个节点在默认情况下会同时扮演master,data,ingest
image.png

单一职责的节点

设置对应节点类型为true,其他节点为false

  1. node.master:true
  2. node.ingest:false
  3. node.data:false

职责分离的好处

  • master node:负责集群状态管理,分片管理,索引创建等操作

使用低配置机器CPU,RAM,磁盘
从高可用&避免脑裂的角度触发,一般生产环境配置3台master node,设置1台为活跃主节点

  • data node: 负责数据存储级处理客户端请求

使用高配置机器CPU,RAM,磁盘

  • ingest node: 负责处理数据

使用高配置CPU,中等配置的RAM,低配置磁盘

  • coordinating only node

使用中上等配置CPU,中上等配置的RAM,低配置磁盘

  1. node.master:false
  2. node.ingest:false
  3. node.data:false

生产环境中建议大规模集群配置coordinating only node
扮演load balancers,降低master和data nodes的负载
负责搜索结构的gather/reduce
无法预知客户端会发送怎样的请求,大量占用内存的深度聚合操作,可能会引发OOM
不建议coordinate和data node混部
data node占用内存较大,coordinate node有时候会有开销很高的查询,导致oom,进而影响master节点,导致集群不稳定
image.png
image.png
image.png
image.png