我们在前面的文章中搭建了 Kafka 集群,分别是伪集群和真实的集群:
Kafka - 03 Kafka安装 | 单机环境搭建 | 伪集群环境搭建 (一台虚拟机)
Kafka - 06 Kafka 集群环境搭建(三台虚拟机)
两种方式中,Zookeeper 存储的 kafka 信息是一样的,这里以 kafka 伪集群来看下 Zookeeper 中存储的 Kafka 信息。在配置 kafka 伪集群时,在kafka 配置文件 server.properties 中配置了连接 zookeeper 集群的地址:
zookeeper.connect=localhost:2181,localhost:2182,localhost:2183
启动 zookeeper 客户端:
查看 zookeeper 中存储的 kafka 信息:
1. kafka 元数据存储目录:
2. admin目录结构:
存储管理员接口操作的相关信息,主要为 topic 删除事件,分区迁移事件,优先副本选举,信息 (一般为临时节点)
3. brokers 目录结构:
主要存储 broker 相关的信息,broker 节点以及节点上的 topic 相关信息
4. cluster 目录结构:
存储 kafka 集群信息
5. consumers 目录结构:
存放消费者相关信息 (一般为空):0.9版本之前用于存Offset信息,0.9版本之后Offset信息存在在kafka 主题中
6. controller 目录结构:
维护集群中的leader信息,辅助leader选举:
注意:
在配置 kafka 伪集群时,连接 zookeeper 集群的地址为:
zookeeper.connect=localhost:2181,localhost:2182,localhost:2183
因此 kafka 集群信息会分散在各个目录中:
如果像 Kafka 真实集群那样配置:
zookeeper.connect=hadoop101:2181,hadoop102:2181,hadoop103:2181/kafka_cluster
那么kafka集群信息就会放在 kafka_cluster目录下:
也就是说会自动创建一个 kafka_cluster 目录存放集群信息。