在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