大数据-kafka学习(三)——Kafka Broker
目錄
一、Kafka Broker工作
1.1 、zookeeper中存儲的kafka信息
1.2、broker總體工作流程
二、kafka副本
2.1、副本的基本信息
2.2、Leader選舉流程
2.3、Leader 和 Follower 故障處理細節
1、Leader故障處理
2、Follower故障處理
一、Kafka Broker工作
1.1 、zookeeper中存儲的kafka信息
在zookeeper的服務器端存儲的Kafka相關信息:
- /brokers/ids [0,1,2] 記錄有哪些服務器
- /brokers/topics/first/partitions/0/state? ? {"leader":1,"isr":[1,0,2]} 記錄誰是Leader,有哪些服務器可用
- /controller? {"brokerid":0}? 輔助選舉Leader
1.2、broker總體工作流程
二、kafka副本
2.1、副本的基本信息
? ? ? ? AR = ISR + OSR
? ? ? ? ISR:表示和Leader保持同步的Follower集合,如果Follower長時間未向Leader發送通信請求或者同步數據,則該Follower將被踢出ISR。該時間閾值由replica.lag.time.max.ms參數設定,,默認30s。Leader發生故障之后,就會從ISR中選舉新的Leader。
? ? ? ? OSR:表示Follower與Leader副本同步時,延遲過多的副本。? ? ? ? ? ? ? ? ?
2.2、Leader選舉流程
? ? ? ? Kafka集群中有一個broker的Cntroller會被選舉為Controller Leader,負責管理集群broker的上下線,所有topic的分區副本分配和Leader選舉等工作。
? ? ? ? Controller的信息同步工作是依賴于Zookeeper的。
?選舉規則:在ISR中存活為前提,按照AR中排在前面的優先。
????????例如:AR【1,0,2】、ISR【1,0,2】,那么Leader就會按照【1,0,2】進行輪詢產生?
2.3、Leader 和 Follower 故障處理細節
LEO(Log End Offset): 每個副本等最后一個offset,LEO其實就是最新的offset+1
HW(High Watermark)?:所有副本中最小的LEO
1、Leader故障處理
? ? ? ? 注意:這只能保證副本之間的數據一致性,并不能保證數據不丟失或者不充分
2、Follower故障處理
? ? ? ?
總結
以上是生活随笔為你收集整理的大数据-kafka学习(三)——Kafka Broker的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: hqs-popup弹窗实现多选(uni-
- 下一篇: 【文字版】面试大厂,面试官竟然出了一道初