2023年7月19日发(作者:)
Kafka数据存储结构Kafka 的数据分为两部分:元数据、消息数据。元数据:元数据包括集群信息、节点信息、队列信息、主从信息、分区信息、分区分布信息等,这类信息都存储在
Zookeeper上,Kafka 的任何⼀个节点都可以读取元数据信息。消息数据:⽣产者向集群发送的消息。⽣产者直接向分区的 Leader 发送消息,Leader 会同步⾄ Flowers 节点,分区的 Leader 及Flowers 节点都存储了⼀份消息数据。元数据结构当安装好
kafka 并启动运⾏以后,就会在
zookeeper 上初始化
kafka 相关数据。主要包括以下⼏个⽬录clustercontrollercontroller_epochbrokersconsumers在配置 Zookeeper 连接时,可以配置⽬录,⽐如:node01:2181,node02:2181,node03:2181/kafka,这样
Kafka 的相关⽂件就会在/kafka ⽬录下,不然就散落在根⽬录下。cluster存储
Kafka 集群信息,cluster/id ⽬录存储了集群的ID1234{ "version":"1", "id":"SZ1VE5STTrKpIDG9zRqsfQ"}controller存储
Kafka 集群的
controller 中央控制器信息。12345{ "version":1, //
版本号,默认为 1 "brokerid":1, // Kafka
中央控制器的实例ID "timestamp":"18" // Kafka
中央控制器变更时间}controller_epoch存储
Kafka 集群的中央控制器选举次数。集群第⼀次启动时,该数值为 1,此后,只要发⽣中央控制器重新选举(⽐如:中央控制器实例宕机,就会导致重新选举),该数值就会 +1。brokersbroker 信息brokers/ids ⽬录存储所有的实例ID(ties 中配置的 ),获取其中⼀个实例的数据如下1112{ "listener_security_protocol_map":{ "PLAINTEXT":"PLAINTEXT" }, "endpoints":["PLAINTEXT://node04:9092"], "jmx_port":-1, // JMX
端⼝号 "features":{}, "host":"node04", //
主机名或者IP地址 "timestamp":"38", //
当前 broker
初始启动时的时间戳 "port":9092, // broker
服务端的端⼝号 "version":5 //
版本号,默认为 1}topic 信息brokers/topics ⽬录存储所有的
Topic,获取其中⼀个
Topic 的数据,partitions 记录了分区分布信息。该 Topic 拥有两个分区,分区 0 分布在实例 2、1 上,分区 1 分布的实例 3、2 上123456{ "removing_replicas":{}, "partitions":{ //
分区信息 "1":[3,2], //
分区 1 "0":[2,1] //
分区 0
发布者:admin,转转请注明出处:http://www.yc00.com/xiaochengxu/1689766100a284388.html
评论列表(0条)