温馨提示×

ubuntu kafka如何配主题

小樊
45
2026-09-11 12:21:54
栏目: 智能运维

在 Ubuntu 上配置 Kafka 主题(Topic),通常分为创建主题、查看、修改、删除等步骤。下面以最常见、最实用的方式说明(假设你已经安装并启动了 Kafka)。


一、前提条件(确认 Kafka 已启动)

# 启动 Zookeeper(老版本需要,Kafka 2.8+ 可不用)
bin/zookeeper-server-start.sh config/zookeeper.properties

# 启动 Kafka
bin/kafka-server-start.sh config/server.properties

如果你是用 apt / docker 安装的,命令路径可能不同,但思路一样。


二、创建 Kafka 主题

1️⃣ 基本创建(最常用)

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

说明:

  • test-topic:主题名
  • partitions 3:分区数
  • replication-factor 1:副本数(单机只能是 1)

2️⃣ 如果使用的是 Zookeeper 模式(老版本)

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

三、查看主题

查看所有主题

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

查看某个主题详情

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

四、修改主题配置

1️⃣ 增加分区数(⚠️ 分区只能增加,不能减少)

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

2️⃣ 修改主题参数(如保留时间)

bin/kafka-configs.sh \
  --alter \
  --topic test-topic \
  --bootstrap-server localhost:9092 \
  --add-config retention.ms=86400000

五、删除主题

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

⚠️ 需要 server.properties 中:

delete.topic.enable=true

六、生产 / 消费测试(验证主题)

生产消息

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

七、Ubuntu 常见路径示例

如果你用 apt 安装:

/usr/bin/kafka-topics
/usr/bin/kafka-console-producer
/usr/bin/kafka-console-consumer

如果你用 Docker:

docker exec -it kafka kafka-topics --list --bootstrap-server localhost:9092

如果你愿意,可以告诉我:

  • ✅ Kafka 版本(2.x / 3.x)
  • ✅ 单机还是集群
  • ✅ 用 apt、源码还是 Docker 安装

我可以给你完全匹配你环境的命令

0