elasticsearch的分布式高可用集群

2022-10-27 16:20:19 浏览数 (2)

es集群中的角色

  1. 主节点(master) 存储元数据(描述真正数据的数据)的节点 职责:管理集群的节点,主要负责对元数据的维护(主要体现在对元数据的更新,别的节点可以获取原数据,但是绝对不可以对原数据进行更新),【原数据:记录一个索引被分为多少个分片,每个分片被存储在那个节点,每个document对应那个分片(哈希取余计算)】
  2. 负载均衡角色(ingest node):对外提供接口的角色(内部通信同步所有es节点,主要同步master,获取元数据)
  3. 协调器 es不像是redis可以通过命令将所有的节点同步到一起,但是es有一个协调器的角色,可以调用发现整合一个集群。(人为指定)

es集群的选举逻辑

  • 每个节点启动之后都会连接配置文件(elasicsearch.yml)中的协调器去发现其他节点进行连接
  • 在内存中生成一个activeMaster的数据记录着当前es集群中的master节点,activeMaster不为空时,说明当前es节点中的master已经选出,如果不为空进入下一步
  • 当前节点通过协调器,获取所有可以成为master的后备list,里面记录着所以可以成为master的节点信息,如果满足最下master数量(node.master: true的节点总数/2 1)执行bully算法,选出候选master节点中ID最大或最小的节点成为master节点。

0 人点赞