daicy
发布于 2020-12-21 / 2024 阅读
0
0

ElasticSearch: master,data,client三类节点区别及节点分配简单例举

简述

  • 默认情况下,ES集群节点都是混合节点,即在elasticsearch.yml中默认node.master: truenode.data: true
  • 当ES集群规模达到一定程度以后,就需要注意对集群节点进行角色划分。
  • ES集群节点可以划分为三种:主节点、数据节点和客户端节点。
  • 这是一种分而治之的思想,也是一种术业专攻的体现。

三类节点说明

  • master - 主节点
    • elasticsearch.yml :

      node.master: true
      node.data: false
      
      
    • 主要功能:维护元数据,管理集群节点状态;不负责数据写入和查询。

    • 配置要点:内存可以相对小一些,但是机器一定要稳定,最好是独占的机器。

  • data - 数据节点
    • elasticsearch.yml :

      node.master: false
      node.data: true
      
      
    • 主要功能:负责数据的写入与查询,压力大。

    • 配置要点:大内存,最好是独占的机器。

  • client - 客户端节点
    • elasticsearch.yml :

      node.master: false
      node.data: false
      
      
    • 主要功能:负责任务分发和结果汇聚,分担数据节点压力。

    • 配置要点:大内存,最好是独占的机器

  • mixed- 混合节点(不建议)
    • elasticsearch.yml :

      node.master: true
      node.data: true
      
      
    • 主要功能:综合上述三个节点的功能。

    • 配置要点:大内存,最好是独占的机器。

    • 特别说明:不建议这种配置,节点容易挂掉

其他说明

  • 虽然上面章节中,未对单个服务器的磁盘大小进行要求,但是整体ES集群的总磁盘大小要保证足够。

简单举例

假定共计20台机器,则可以按照如下配置:

节点类型机器数量内存大小其他
master316GB机器必须稳定
data1231GB
client531GB

以上,只是简单的举例,可根据实际情况调节。


评论