🔥《Kafka運維管控平臺》🔥 ??更強大的管控能力?? 🎾更高效的問題定位能力🎾 🌅更便捷的集群運維能力🌅 🎼更專業的資源治理🎼 🌞更友好的運維生態🌞
相關免費專欄 🔥《Kafka面試100例》🔥 🔥《從0開始學kafka》🔥
打卡日更 🔥《Kafka面試100例》🔥
當前更文情況:: 4 / 100
先說結論: 根據上面分析過的原始碼畫出的時序圖可以指定; 客戶端發起創建Topic的請求,本質上是去zk里面寫兩個資料
- topic的配置資訊
/config/topics/Topic名稱持久節點- topic的磁區資訊
/brokers/topics/Topic名稱持久節點
所以我們繞過這一步驟直接去寫入資料,可以達到一樣的效果;不過我們的資料需要保證準確
因為在這一步已經沒有了一些基本的校驗了; 假如這一步我們寫入的副本Brokerid不存在會怎樣,從時序圖中可以看到,leaderAndIsrRequest請求; 就不會正確的發送的不存在的BrokerId上,那么那臺機器就不會創建Log檔案;下面不妨讓我們來驗證一下;
創建一個節點/brokers/topics/create_topic_byhand_zk節點資料為下面資料;{"version":2,"partitions":{"2":[3],"1":[3],"0":[3]},"adding_replicas":{},"removing_replicas":{}}
這里我用的工具PRETTYZOO手動創建的,你也可以用命令列創建;
創建完成之后我們再看看本地有沒有生成一個Log檔案
可以看到我們指定的Broker,已經生成了對應的磁區副本Log檔案;
而且zk中也寫入了其他的資料
在我們寫入zk資料的時候,就已經確定好了哪個每個磁區的Leader是誰了,那就是第一個副本默認為Leader

你好,我是石臻臻,作業8年的互聯網老兵,豐富的開發和管理經驗, 現在任職于「 滴滴技術專家 」崗位,從事開源建設作業,公眾號講解 Java/中間件/大資料 等技術堆疊相關內容,歡迎關注石臻臻,進滴滴 「 高質量 」 「 滴滴開源技術答疑群 」 , 群內每周技術專家輪流值班答疑,加石臻臻微信交個朋友,交流交流技術分享分享生活,每周五晚上8點抽獎送書 ,歡迎加我微信
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/299730.html
標籤:其他



