Kraft协议详解
在kafka3.0之后,kafka正式推出了kraft模式,通过节点之间kraft共识保证Quorum机制,Leader节点的选举由具有投票权的Controller来决定。
集群元数据信息都存在集群本身的topic里
Quorum
Quorum中一个节点可以处于一下四种状态
(1)Candidate,可以主动发起投票
(2)Leader,唯一,也是Active Controller,在选举中获得多数票
(3)Follower,已经投票给Candidate,或者正在从Leader拉取日志
(4)Observer,没有投票权的Follower,Voter配置里没有配的
脚本查看集群状态 --status --replication
[root@iamdemo1 bin]# ./kafka-metadata-quorum.sh --bootstrap-server 172.29.145.157:9092,172.29.145.182:9092,172.29.145.183:9092 describe --status
[root@iamdemo1 bin]# ./kafka-metadata-quorum.sh --bootstrap-server 172.29.145.157:9092,172.29.145.182:9092,172.29.145.183:9092 describe --replication
Controller选举配置
controller.quorum.voters=1@172.29.145.157:9093,2@172.29.145.182:9093,3@172.29.145.183:9093
没有在这里面的就不具有投票权,就是Observer