Elastic Search 7.x 集群配置

Elastic Search 7.x 集群配置

概念

Cluster 集群

一个 Elasticsearch 集群由一个或多个节点(Node)组成,每个集群都有一个共同的集群名称作为标识

Node节点

  • 一个 Elasticsearch 实例即一个 Node,一台机器可以有多个实例,正常使用下每个实例应该会部署在不同的机器上。 Elasticsearch 的配置文件中可以通过 node.master、 node.data 来设置节点类型
  • node.master:表示节点是否具有成为主节点的资格
    • true代表的是有资格竞选主节点
    • false代表的是没有资格竞选主节点
  • node.data:表示节点是否存储数据
    • true代表存储数据
    • false代表不存储数据

Node节点组合

  • 主节点+数据节点(master+data)

    // 节点即有成为主节点的资格,又存储数据
    node.master: true
    node.data: true
    
  • 数据节点(data)

    // 节点没有成为主节点的资格,不参与选举,只会存储数据
    node.master: false
    node.data: true
    
  • 客户端节点(client)

    // 不会成为主节点,也不会存储数据,主要是针对海量请求的时候可以进行负载均衡
    node.master: false
    node.data: false
    

分片

每个索引有一个或多个分片,每个分片存储不同的数据。分片可分为主分片( primary shard)和复制分(replica shard),复制分片是主分片的拷贝。默认每个主分片有一个复制分片,一个索引的复制分片的数量可以动态地调整,复制分片从不与它的主分片在同一个节点上

集群搭建

步骤

  1. 拷贝elasticsearch安装包3份,分别命名es-a, es-b,es-c
  2. 分别修改elasticsearch.yml文件内容(见下)
  3. 分别启动a ,b ,c 三个节点
  4. 打开浏览器输入: http://localhost:9200/_cat/health?v ,如果返回的node.total是3,代表集群搭建成功

配置elasticsearch.yml

  • a节点

    #集群名称
    cluster.name: elasticsearch
    #节点名称
    node.name: node-a
    #是不是有资格竞选主节点
    node.master: true
    #是否存储数据
    node.data: true
    #最大集群节点数
    node.max_local_storage_nodes: 3
    #网关地址
    network.host: 192.168.11.220
    #端口
    http.port: 9200
    #内部节点之间沟通端口
    transport.tcp.port: 9300
    #es7.x 之后新增的配置,写入候选主节点的设备地址,在开启服务后可以被选为主节点
    discovery.seed_hosts: ["192.168.11.220:9300","192.168.11.220:9301","192.168.11.220:9302"]
    #es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举master
    cluster.initial_master_nodes: ["node-a", "node-b","node-c"]
    #数据存储路径
    path.data: /home/es/software/es/data
    #日志存储路径
    path.logs: /home/es/software/es/logs
    
  • b节点

    #集群名称
    cluster.name: elasticsearch
    #节点名称
    node.name: node-b
    #是不是有资格竞选主节点
    node.master: true
    #是否存储数据
    node.data: true
    #最大集群节点数
    node.max_local_storage_nodes: 3
    #网关地址
    network.host: 192.168.11.220
    #端口
    http.port: 9201
    #内部节点之间沟通端口
    transport.tcp.port: 9301
    #es7.x 之后新增的配置,写入候选主节点的设备地址,在开启服务后可以被选为主节点
    discovery.seed_hosts: ["192.168.11.220:9300","192.168.11.220:9301","192.168.11.220:9302"]
    #es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举master
    cluster.initial_master_nodes: ["node-a", "node-b","node-c"]
    #数据存储路径
    path.data: /home/es/software/es/data
    #日志存储路径
    path.logs: /home/es/software/es/logs
    
  • c节点

    #集群名称
    cluster.name: elasticsearch
    #节点名称
    node.name: node-c
    #是不是有资格竞选主节点
    node.master: true
    #是否存储数据
    node.data: true
    #最大集群节点数
    node.max_local_storage_nodes: 3
    #网关地址
    network.host: 192.168.11.220
    #端口
    http.port: 9202
    #内部节点之间沟通端口
    transport.tcp.port: 9302
    #es7.x 之后新增的配置,写入候选主节点的设备地址,在开启服务后可以被选为主节点
    discovery.seed_hosts: ["192.168.11.220:9300","192.168.11.220:9301","192.168.11.220:9302"]
    #es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举master
    cluster.initial_master_nodes: ["node-a", "node-b","node-c"]
    #数据存储路径
    path.data: /home/es/software/es/data
    #日志存储路径
    path.logs: /home/es/software/es/logs
    
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容