美文网首页
kafka controller和partition leade

kafka controller和partition leade

作者: LB_15b3 | 来源:发表于2020-04-08 22:36 被阅读0次

    controller 选举 入口:ZookeeperLeaderElector

    1. broker 启动后,监控临时节点/controller
    2. 获取/controller 节点内容
      1. 如果内容为空,就创建节点,并写入数据
      2. 如果不为空说明已经选举好了
    3. 当controller 节点(controller 的broker 挂掉,zk 超时等)丢失,其他broker尝试写入临时节点,写成功就算选举成功。

    partition leader选举 入口:OfflinePartitionLeaderSelector

    1. 当broker 挂掉,获取其他isr
    2. 如果isr 不为空 则选取第一isr
    3. 如果isr为空 并且unclean.leader.election.enable:false throw new NoReplicaOnlineException
      4 如果isr为空unclean.leader.election.enable:true。sr中取第一个。如果is 也为空 throw new NoReplicaOnlineException

    相关文章

      网友评论

          本文标题:kafka controller和partition leade

          本文链接:https://www.haomeiwen.com/subject/oyffmhtx.html