使用kafka-topics.sh查看主题列表和详情需匹配kafka版本:2.2+推荐--bootstrap-server方式,如./kafka-topics.sh --bootstrap-server localhost:9092 --list;查详情用--describe;旧版才用--zookeeper;注意连接配置、权限及安全参数。

直接用 kafka-topics.sh 命令就能查出集群里所有主题的列表和详情,关键在于参数和连接方式是否匹配你当前 Kafka 版本(2.x/3.x)及配置。
查看所有主题列表
现代 Kafka(2.2+,尤其 3.x)推荐使用 --bootstrap-server 方式,不再依赖 ZooKeeper:
./kafka-topics.sh --bootstrap-server localhost:9092 --list- 如果集群有多个 broker,可写成:
--bootstrap-server host1:9092,host2:9092,host3:9092 - 旧版本(或仍启用 ZooKeeper 协调)才需用:
--zookeeper zk1:2181,zk2:2181,但该方式已逐步弃用
查看某个主题的详细信息
加 --describe 并指定主题名,能显示分区分布、副本分配、ISR 状态等核心运维信息:
Java Maven 项目审查工作流的通用输入处理。当 Java Maven 项目以 ZIP压缩包或 GitLab 仓库 URL 形式提供且需要...时使用。
./kafka-topics.sh --bootstrap-server localhost:9092 --topic my-topic --describe- 输出中重点关注:PartitionCount(总分区数)、ReplicationFactor(副本数)、Leader(主副本所在 broker ID)、Isr(同步副本集合)
- 若主题不存在,命令会报错;若权限不足,可能提示“TopicAuthorizationException”
一次性列出所有主题及其简要统计
仅靠 --list 只返回主题名。如需快速了解每个主题的分区数和副本数,可配合 shell 处理:
- 先获取主题列表:
topics=($(./kafka-topics.sh --bootstrap-server localhost:9092 --list)) - 再逐个 describe 并提取关键字段(例如用 awk 提取 PartitionCount 和 ReplicationFactor)
- 生产环境建议用 Kafka AdminClient API 或 Prometheus + JMX 指标实现可视化汇总
注意连接参数是否生效
执行失败常见原因不是命令写错,而是连接配置不匹配:
- 确认
bootstrap-server地址可连通(telnet 或 nc 测试端口) - 检查 server.properties 中
advertised.listeners是否正确暴露给客户端 - 安全集群需额外加参数,如
--command-config client.properties(含 SASL/SSL 配置)










