kafka元數據管理--

ZK結構樹

在這裏插入圖片描述
kafka這個是zk上創建的一個節點;這個kafka節點下有admin brokers等子節點

admin節點

在這裏插入圖片描述

brokers節點

brokers節點下有ids和topics節點;這些信息都可以在zk中使用命令查到。
ids就是broker的id;每個id下存放了相對應的broker的基本信息。
topics是存放的topic基本信息。topic下面就是partitons,每個partiton下是這個partiton的基本信息。
在這裏插入圖片描述

consumers節點

臨時節點,集羣關閉就會自動刪除

  • ids: 臨時znode,每創建一個consumer實例,就會創建一個consumerid節點
  • owners 臨時節點,用來標示partition被哪個consumer消費
  • offset 持久節點,用來跟蹤每個consumer目前所消費的partiton中最大的offset
    在這裏插入圖片描述
  • /consumers/[groupId]/ids/[consumerIdString]
  • /consumers/[groupId]/owners/[topic]/[partitionId] -> consumerIdString + threadId
  • /consumers/[groupId]/offsets/[topic]/[partitionId] -> offset

config節點

在這裏插入圖片描述
比如動態改動會體現在對應topic的下面;通過zk的get命令即可查到改過的結果

配置:kafka-topic.sh --zookeeper localhost:2181/kafka --create --topic my-topic --partition 1 --replication-factor 1 --config max.message.bytes=64000 --config flush.message=1
修改:kafka-topic.sh --zookeeper localhost:2181/kafka --entity-type topic --entity-name my-topic --alter  --add-config  max.message.bytes=128000 

controller節點

controller:

  • broker通過搶注此節點而成爲controller
  • 其他broker時刻監控此節點,實現HA
  • controller的作用:broker退出時,負責分區首領的選舉

controller_epoch

  • 每次重新選舉後,epoch順序遞增,避免“腦裂”
  • broker收到包含舊epoch的消息,會自動忽略

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章