kafka元数据管理--

文章目录

  • ZK结构树
  • admin节点
  • brokers节点
  • consumers节点
  • config节点
  • controller节点

ZK结构树

kafka元数据管理--_第1张图片
kafka这个是zk上创建的一个节点;这个kafka节点下有admin brokers等子节点

admin节点

kafka元数据管理--_第2张图片

brokers节点

brokers节点下有ids和topics节点;这些信息都可以在zk中使用命令查到。
ids就是broker的id;每个id下存放了相对应的broker的基本信息。
topics是存放的topic基本信息。topic下面就是partitons,每个partiton下是这个partiton的基本信息。
kafka元数据管理--_第3张图片

consumers节点

临时节点,集群关闭就会自动删除

  • ids: 临时znode,每创建一个consumer实例,就会创建一个consumerid节点
  • owners 临时节点,用来标示partition被哪个consumer消费
  • offset 持久节点,用来跟踪每个consumer目前所消费的partiton中最大的offset
    kafka元数据管理--_第4张图片
  • /consumers/[groupId]/ids/[consumerIdString]
  • /consumers/[groupId]/owners/[topic]/[partitionId] -> consumerIdString + threadId
  • /consumers/[groupId]/offsets/[topic]/[partitionId] -> offset

config节点

kafka元数据管理--_第5张图片
比如动态改动会体现在对应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的消息,会自动忽略

kafka元数据管理--_第6张图片

你可能感兴趣的:(Kafka学习笔记)