温馨提示×

ubuntu kafka如何设主题

小樊
43
2026-09-20 21:08:28
栏目: 智能运维

在 Ubuntu 上使用 Kafka 创建(设)主题,通常分为 使用命令行 和 通过配置文件/代码 两种方式。下面以最常见的 Kafka 命令行方式 为主,适合刚安装好 Kafka 的场景。


一、前提条件(Ubuntu)

  1. 已安装 Kafka(如 /opt/kafka 或 ~/kafka)
  2. Kafka 服务已启动
    # 启动 Zookeeper(老版本)
    bin/zookeeper-server-start.sh config/zookeeper.properties
    
    # 启动 Kafka
    bin/kafka-server-start.sh config/server.properties
    

Kafka 新版本(2.8+)可使用 KRaft 模式,不依赖 Zookeeper。


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

1️⃣ 进入 Kafka 目录

cd ~/kafka
# 或
cd /opt/kafka

2️⃣ 创建主题

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

参数说明:

  • --topic:主题名
  • --partitions:分区数
  • --replication-factor:副本数(单机只能为 1)
  • --bootstrap-server:Kafka 地址

✅ 成功会看到:

Created topic test-topic.

三、查看主题

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

查看某个主题详情:

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

四、删除主题

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

⚠️ 需确保:

delete.topic.enable=true

(新版 Kafka 默认开启)


五、修改主题(分区数)

bin/kafka-topics.sh \
  --alter \
  --topic test-topic \
  --partitions 5 \
  --bootstrap-server localhost:9092

⚠️ 分区只能增加,不能减少


六、测试主题(可选)

生产者

bin/kafka-console-producer.sh \
  --topic test-topic \
  --bootstrap-server localhost:9092

消费者

bin/kafka-console-consumer.sh \
  --topic test-topic \
  --from-beginning \
  --bootstrap-server localhost:9092

七、常见问题

❓ 提示 command not found

确认路径是否正确,或使用:

./bin/kafka-topics.sh

❓ 连接失败

  • Kafka 没启动
  • localhost:9092 写错
  • 防火墙或 listeners 配置问题

如果你用的是:

  • Docker Kafka
  • KRaft 模式
  • Spring Boot / Java 代码建主题

可以告诉我,我可以给你对应示例。

0 踩