在 Debian 上“管 Kafka”一般分几块:安装/启动、日常运维命令、配置与系统服务化、监控与排错。下面按实用角度给你一个清晰清单。
Kafka 依赖 Java,先装 JDK:
sudo apt update
sudo apt install -y default-jdk
java -version
wget https://downloads.apache.org/kafka/3.7.0/kafka_2.13-3.7.0.tgz
tar -xzf kafka_2.13-3.7.0.tgz
sudo mv kafka_2.13-3.7.0 /opt/kafka
Debian 官方源里一般没有新 Kafka,不建议。
Kafka 自带 Zookeeper(老版本)或 KRaft(新版本)。
/opt/kafka/bin/zookeeper-server-start.sh /opt/kafka/config/zookeeper.properties
另开终端:
/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties
/opt/kafka/bin/kafka-storage.sh random-uuid
/opt/kafka/bin/kafka-storage.sh format \
-t <uuid> -c /opt/kafka/config/kraft/server.properties
/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/kraft/server.properties
# 创建
kafka-topics.sh --create \
--topic test --partitions 3 --replication-factor 1 \
--bootstrap-server localhost:9092
# 查看
kafka-topics.sh --list --bootstrap-server localhost:9092
kafka-topics.sh --describe --topic test --bootstrap-server localhost:9092
# 删除
kafka-topics.sh --delete --topic test --bootstrap-server localhost:9092
# 生产
kafka-console-producer.sh \
--topic test --bootstrap-server localhost:9092
# 消费
kafka-console-consumer.sh \
--topic test --from-beginning --bootstrap-server localhost:9092
kafka-consumer-groups.sh \
--describe --group my-group --bootstrap-server localhost:9092
/etc/systemd/system/zookeeper.service
[Unit]
Description=Zookeeper
After=network.target
[Service]
ExecStart=/opt/kafka/bin/zookeeper-server-start.sh /opt/kafka/config/zookeeper.properties
User=kafka
Restart=on-failure
[Install]
WantedBy=multi-user.target
/etc/systemd/system/kafka.service
[Unit]
Description=Apache Kafka
After=zookeeper.service
[Service]
ExecStart=/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties
User=kafka
Restart=on-failure
[Install]
WantedBy=multi-user.target
sudo useradd kafka
sudo systemctl daemon-reload
sudo systemctl enable --now zookeeper kafka
server.properties 关键项:
listeners=PLAINTEXT://0.0.0.0:9092
advertised.listeners=PLAINTEXT://<服务器IP>:9092
log.dirs=/var/lib/kafka-logs
num.partitions=3
目录权限:
sudo mkdir -p /var/lib/kafka-logs
sudo chown -R kafka:kafka /var/lib/kafka-logs
journalctl -u kafka -f
/opt/kafka/logs/server.log
kafka-topics.sh --describekafka-consumer-groups.shConnection refused → advertised.listeners 配错broker not available → Kafka 没起来 / Zookeeper 异常log.retention.hours你可以告诉我:
我可以直接给你一套 可复制的 Debian 实操方案。