所有分类
  • 所有分类
  • 未分类

ES–节点的类型

简介

说明

本文介绍ElasticSearch节点的类型。

ES集群是由多个ES实例组成的,一个Elasticsearch实例就是一个node(节点)。

节点类型及配置

节点类型配置参数默认值/设置方法
候选主节点node.mastertrue
数据节点node.datatrue
摄取节点node.ingesttrue
客户端节点将前三个参数全部设置为false
部落节点tribe:*:
协调节点将前三个参数全部设置为false
machine learningnode.mltrue(需要enable x-pack)

主节点(Master node)

作用

主节点不接受客户端的请求。它的作用如下:

  1. 控制集群中的操作
    1. 创建/删除索引
    2. 决定分片⽚被分配到哪个节点
    3. 跟踪哪些节点是群集的一部分
  2. 控制集群的状态
    1. 处理集群的状态并广播到其他节点,接收其他节点的确认响应

用法

默认情况下任何一个集群中的节点都可能被选为主节点(node.master属性默认为true)。

对于大型的生产集群来说,推荐使用一个专门的主节点来控制集群,该节点将不处理任何用户请求,稳定的主节点对集群的健康是非常重要的。一般部署多个主节点(避免单点问题),主节点数量一般是奇数,比如:3个。

将节点专门作为候选主节点的方法:elasticsearch.yml中的node.master属性设置为true(默认),node.data属性设置为false。

候选主节点(Master Eligible Nodes)

⼀个集群⽀持配置多个 Master Eligible 节点,这些节点在必要时(如 Master 节点出现故障,网络故障时)参与选主流程,成为 Master 节点。

节点默认是 Master eligible 节点(node.master属性默认为true)。可以将某个节点设置为禁止参与选举:设置 node.master: false;

数据节点(Data node)

作用

数据节点的作用如下:

  1. 存储数据
  2. 执行数据相关的操作
    1. 增删改查
    2. 搜索
    3. 聚合操作

用法

节点默认就是数据节点(node.data属性默认为true)。

通过增加数据节点,可以解决数据水平扩展和解决数据单点问题。

数据节点对cpu,内存,io要求较高,在优化的时候需要监控数据节点的状态,当资源不够的时候,需要在集群中添加新的节点。

设置

elasticsearch.yml:node.data: true。

如果要使用一个专门的主节点,就将它禁止作为数据节点,方法是设置elasticsearch.yml: node.data: false。

摄取节点(Ingest Node)

作用

摄取节点是用来对document写入索引文件之前进行预处理的。

可以使用摄取节点对每个document都执行一条ingest pipeline,在document写入索引文件之前,先对其数据进行处理和转化,例如:删除字段,重命名字段,修改字段值等。

用法

默认情况下,所有节点都是Ingest Node(node.ingest属性默认为true)。

如果要执行的ingest操作太过繁重,那么可以规划单独的一批ingest node出来,然后将node.master和node.data都设置为false即可。

客户端节点(Client Node)

作用

客户端节点是既不做候选主节点也不做数据节点的节点,只负责请求的分发、汇总等。若是单独增加这种节点主要是更多地为了提高并发性。

用法

将节点设置为客户端节点的方法:修改elasticsearch.yml,将node.master属性和node.data属性都设置为false。

部落节点(Tribe Node)

作用

部落节点可以跨越多个集群,它可以接收每个集群的状态,然后合并成一个全局集群状态。它可以读写所有节点上的数据。

用法

部落节点在elasticsearch.yml中的配置如下:tribe:*:

协调节点(Coordinating Node)

作用

协调节点处理请求的节点,负责路由请求到正确的节点。集群中任何一个节点都可以是协调节点。

例1:协调节点将创建索引的请求路由到 Master 节点;

例2:节点A接收到用户的查询请求,会把查询语句分发到其他节点,然后合并各个节点返回查询结果,最后将完成的聚合结果返回给用户。这个请求中节点A的扮演的就是协调节点的角色。

用法

可以使某个节点成为专门负责协调的节点:将其他类型(data node/master node/master eligible node)设置成 False。 ​

0

评论0

请先

显示验证码
没有账号?注册  忘记密码?

社交账号快速登录