温馨提示×

debian kafka如何设主题

小樊
37
2026-09-03 18:43:12
栏目: 智能运维

在 Debian 上“设主题”通常指 使用 Kafka 命令行工具创建 / 配置 Topic。下面按常见场景说明。


一、前提条件(Debian 上 Kafka 已安装)

假设:

  • Kafka 安装在 /opt/kafka
  • ZooKeeper 或 KRaft 已启动
  • Kafka 服务已运行

常见目录:

/opt/kafka/bin/

二、创建 Kafka 主题(最常用)

1️⃣ 使用 ZooKeeper 模式(老版本)

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

2️⃣ 使用 Bootstrap Server(推荐,Kafka 2.2+)

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

参数说明:

  • --partitions:分区数
  • --replication-factor:副本数(≤ broker 数量)
  • --topic:主题名

三、查看主题

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

查看详情:

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

四、修改主题配置(设参数)

示例:修改消息保留时间

kafka-configs.sh \
  --bootstrap-server localhost:9092 \
  --entity-type topics \
  --entity-name test-topic \
  --alter \
  --add-config retention.ms=86400000

增加分区数(只能增不能减)

kafka-topics.sh \
  --alter \
  --bootstrap-server localhost:9092 \
  --topic test-topic \
  --partitions 6

五、删除主题

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

⚠ 需确保:

delete.topic.enable=true

六、Debian 系统服务方式(可选)

如果你用 systemd:

sudo systemctl start kafka
sudo systemctl start zookeeper

七、常见问题

  • 端口不对:检查 server.propertieslisteners
  • 副本数报错:副本数不能大于 broker 数
  • 命令找不到:用绝对路径或加入 PATH

如果你是指:

  • ✅ Kafka Connect 主题
  • ✅ KRaft 模式
  • ✅ 用 Python/Java 创建主题
  • ✅ Debian 上 Docker 部署 Kafka

告诉我你的具体场景,我可以给你更精确的命令。

0