数据岗位面试题更新 2026-08-05

请描述在 Kafka 中创建 Topic 的常用方法,并说明除了创建之外,Topic 的管理通常还会涉及哪些操作或工具?

数据技术原理

考察说明

考查对 Kafka Topic 生命周期管理的基本认知,包括创建方式与日常管理手段。

回答思路

  1. 【回答框架 1】Topic 是 Kafka 中消息分类的逻辑概念。创建 Topic 的主要方式有三种:通过命令行工具 kafka-topics.sh(或 kafka-topics.bat)执行创建操作;通过 Kafka AdminClient API 以编程方式创建;在较早版本中也可以通过自动创建机制,即生产者向不存在的 Topic 发送消息时自动创建。
  2. 【回答框架 2】对于命令行工具,典型命令如 kafka-topics.sh --bootstrap-server localhost:9092 --create --topic my-topic --partitions 3 --replication-factor 1,该命令会指定分区数和副本因子,副本因子不能超过可用 Broker 数量。
  3. 【回答框架 3】对于 AdminClient,可以用 Java 或其它语言创建 Topic,例如构造 NewTopic 对象后调用 createTopics 方法,这种方式适合自动化管理场景。
  4. 【回答框架 4】Topic 的管理操作包括查询 Topic 列表、查看 Topic 详细信息(分区、副本、ISR)、修改分区数、修改配置(如 retention.ms、segment.bytes)、删除 Topic,以及分区重分配或副本调整等。管理工具主要仍是命令行工具和 AdminClient,也常常配合监控工具或自研管理平台。
  5. 【关键点 1】创建 Topic 的命令行工具为 kafka-topics.sh,需指定分区数和副本因子。
  6. 【关键点 2】AdminClient API 提供了程序化创建和管理 Topic 的能力。
  7. 【关键点 3】Topic 管理包括查看、修改分区、配置调整、删除及分区重分配等。
  8. 【易错点 1】不要依赖生产环境中的自动创建 Topic 机制,应显式创建以控制分区和副本配置。
  9. 【易错点 2】修改分区数只能增加不能减少,初期设计需合理规划分区数。
  10. 【易错点 3】删除 Topic 需确保 broker 配置 delete.topic.enable=true,否则删除操作不生效。