在 Debian 上查看 Kafka 日志,一般分几种情况:Kafka 自身运行日志、Kafka 主题/数据日志、以及通过 systemd / 服务方式启动的日志。下面按常见场景来说明。
Kafka 本身使用 log4j,默认日志目录通常在:
/opt/kafka/logs
或(如果你用 apt / 解压方式不同):
/var/log/kafka
ls /opt/kafka/logs
常见文件包括:
server.log —— Kafka 主进程日志(最重要)controller.log —— Controller 相关state-change.logkafka-authorizer.loglog-cleaner.logtail -f /opt/kafka/logs/server.log
查看最近 200 行:
tail -n 200 /opt/kafka/logs/server.log
搜索错误:
grep -i error /opt/kafka/logs/server.log
Kafka 的 消息数据 默认存放在:
/tmp/kafka-logs
或(在 server.properties 中配置):
log.dirs=/var/lib/kafka/data
⚠️ 注意:
这些是 二进制数据,不是给人看的日志。
查看目录结构:
ls /var/lib/kafka/data
如果你是通过 systemd 启动 Kafka:
systemctl status kafka
查看日志:
journalctl -u kafka -f
查看历史日志:
journalctl -u kafka --since "2025-01-01" --until "2025-01-10"
如果是 Kafka 2.x / 3.x 使用 Zookeeper:
/var/log/zookeeper
或:
journalctl -u zookeeper -f
推荐方式,避免猜路径:
grep -E 'log.dirs|log4j' /opt/kafka/config/server.properties
或者:
ps -ef | grep kafka
查看启动参数中是否指定了日志目录。
# 1. 看进程
ps -ef | grep kafka
# 2. 看 systemd
systemctl status kafka
# 3. 看 server.log
tail -f /opt/kafka/logs/server.log
# 4. 看端口
ss -lntp | grep 9092
| 错误 | 说明 |
|---|---|
java.net.BindException |
端口被占用 |
Broker may not be available |
Kafka 没启动 / 地址错 |
OutOfMemoryError |
堆内存不够 |
No such file or directory |
log.dirs 不存在 |
如果你愿意,可以告诉我:
我可以给你 更精确的日志路径和排查命令 ✅