zoukankan      html  css  js  c++  java
  • elasticsearch 是如何实现 master 选举的 ?

    想了解 ES 集群的底层原理,不再只关注业务层面了。

    前置前提:

    1、只有候选主节点(master:true)的节点才能成为主节点。

    2、最小主节点数(min_master_nodes)的目的是防止脑裂。

    这个我看了各种网上分析的版本和源码分析的书籍,云里雾里。

    核对了一下代码,核心入口为 findMaster,选择主节点成功返回对应 Master,否

    则返回 null。选举流程大致描述如下:

    第一步:确认候选主节点数达标,elasticsearch.yml 设置的值

    discovery.zen.minimum_master_nodes;

    第二步:比较:先判定是否具备 master 资格,具备候选主节点资格的优先返回;

    若两节点都为候选主节点,则 id 小的值会主节点。注意这里的 id 为 string 类型。

    题外话:获取节点 id 的方法。

    1GET /_cat/nodes?v&h=ip,port,heapPercent,heapMax,id,name

    2ip

    port heapPercent heapMax id

    name

  • 相关阅读:
    nginx增加lua支持
    使用nginx+lua实现web项目的灰度发布
    amoeba学习
    信号有关的内容
    Linux系统的进程相关内容
    等待类型
    孤立用户故障排除
    恢复数据库
    执行计划之Insert,update,delete
    临时表和表变量
  • 原文地址:https://www.cnblogs.com/programb/p/13020693.html
Copyright © 2011-2022 走看看