温馨提示×

debian下kafka主题怎么配

小樊
46
2026-10-01 00:48:01
栏目: 智能运维

在 Debian 下配置 Kafka 主题(Topic),通常分为 Kafka 安装前提、创建主题、常用配置参数、配置文件说明 几个部分。下面按实战流程说明。


一、前提条件(Debian 环境)

  1. 已安装 JDK(推荐 JDK 8+)
java -version
  1. 已安装并启动:
  • ZooKeeper(老版本 Kafka)
  • 或 Kafka 自带的 KRaft(新版本 Kafka 3.x+)
  1. Kafka 已启动
bin/kafka-server-start.sh config/server.properties

二、使用命令行创建 Kafka 主题

1️⃣ 基本创建命令

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

说明:

  • --topic:主题名
  • --partitions:分区数
  • --replication-factor:副本数(不能超过 broker 数量)

2️⃣ 查看主题

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

3️⃣ 删除主题

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

三、主题级别常用配置(重要)

创建时可指定主题配置:

bin/kafka-topics.sh --create \
  --topic order-topic \
  --bootstrap-server localhost:9092 \
  --partitions 6 \
  --replication-factor 2 \
  --config retention.ms=604800000 \
  --config cleanup.policy=delete \
  --config max.message.bytes=1048576

常见主题参数

参数 说明
retention.ms 消息保留时间(毫秒)
retention.bytes 分区最大保留大小
cleanup.policy delete / compact
max.message.bytes 单条消息最大大小
min.insync.replicas 最小同步副本数

四、修改已有主题配置

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

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

修改配置:

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

五、server.properties 中的全局配置(Debian 路径示例)

通常位于:

/opt/kafka/config/server.properties

常见配置:

listeners=PLAINTEXT://:9092
log.dirs=/var/lib/kafka/logs
num.partitions=3
default.replication.factor=1
offsets.topic.replication.factor=1

修改后需重启 Kafka:

systemctl restart kafka

六、Debian systemd 管理(推荐)

示例 kafka.service

[Unit]
Description=Apache Kafka
After=network.target

[Service]
ExecStart=/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties
User=kafka
Restart=on-failure

[Install]
WantedBy=multi-user.target

七、快速排查

  • 主题创建失败 → 检查 broker 是否启动
  • replication-factor 报错 → 大于 broker 数量
  • 无法连接 → 检查 listeners 和防火墙

如果你愿意,我可以:

  • 给你 Debian 一键安装 Kafka 脚本
  • 讲 KRaft 模式(无 ZooKeeper)
  • 或按 生产环境参数 帮你配主题

你现在是测试环境还是生产环境?

0 踩