温馨提示×

linux kafka怎样建主题

小樊
57
2026-09-08 08:20:20
栏目: 智能运维

在 Linux 下使用 Kafka 创建主题(Topic),通常通过 Kafka 自带的命令行工具 完成。下面按常见场景说明。


一、前提条件

  • 已安装 Kafka(如 /opt/kafka 或 /usr/local/kafka)
  • Kafka 服务已启动(ZooKeeper / KRaft)
  • 知道 Kafka 的监听地址(如 localhost:9092)

二、使用命令行创建 Topic(最常用)

1️⃣ 进入 Kafka 目录

cd /opt/kafka/bin

2️⃣ 创建 Topic(Kafka 2.x 以后通用)

./kafka-topics.sh \
  --create \
  --topic test-topic \
  --bootstrap-server localhost:9092 \
  --partitions 3 \
  --replication-factor 1

参数说明:

  • --topic:主题名
  • --partitions:分区数
  • --replication-factor:副本数(不能大于 broker 数量)
  • --bootstrap-server:Kafka 地址

✅ 成功会看到:

Created topic test-topic.

三、旧版(使用 ZooKeeper,不推荐)

仅老版本 Kafka(< 2.2)使用:

./kafka-topics.sh \
  --create \
  --zookeeper localhost:2181 \
  --topic test-topic \
  --partitions 3 \
  --replication-factor 1

四、查看已创建的主题

./kafka-topics.sh --list --bootstrap-server localhost:9092

查看某个 Topic 详情:

./kafka-topics.sh --describe --topic test-topic --bootstrap-server localhost:9092

五、KRaft 模式(无 ZooKeeper)

如果你使用的是 Kafka 3.x + KRaft:

./kafka-topics.sh \
  --create \
  --topic test-topic \
  --bootstrap-server localhost:9092 \
  --partitions 3 \
  --replication-factor 1

命令完全一样,只是不需要 ZooKeeper。


六、常见问题

❌ replication-factor 大于 broker 数

Error: replication factor: 3 larger than available brokers: 1

✅ 解决:改为 --replication-factor 1

❌ 端口不通

确认:

netstat -an | grep 9092

如果你告诉我:

  • Kafka 版本
  • 是否使用 ZooKeeper / KRaft
  • 单节点还是集群

我可以给你最合适的具体命令。

0 踩