在 Debian 上,Kafka 的日志位置取决于你是 怎么安装的(官方二进制、deb 包、Docker 等),以及你指的是 Kafka 自身的运行日志 还是 Kafka 的数据日志。下面按常见情况说明。
如果你是从 Apache Kafka 官网下载的 tar.gz,例如:
/opt/kafka/
那么 运行日志 默认在:
/opt/kafka/logs/
常见文件包括:
server.log # Kafka 主日志(最重要)
controller.log
state-change.log
kafka-authorizer.log
log-cleaner.log
tail -f /opt/kafka/logs/server.log
Kafka 的日志目录由 log4j 控制:
/opt/kafka/config/log4j.properties
关键配置:
log4j.appender.kafkaAppender.File=${kafka.logs.dir}/server.log
kafka.logs.dir=logs
如果你改过 KAFKA_LOG4J_OPTS 或 kafka.logs.dir,路径会不同。
这是 Kafka 存消息的地方,不是普通“日志”。
/tmp/kafka-logs
⚠️ 生产环境不建议用 /tmp
在:
/opt/kafka/config/server.properties
log.dirs=/var/lib/kafka/data
你可以查看当前配置:
grep log.dirs /opt/kafka/config/server.properties
数据目录示例:
/var/lib/kafka/data/
├── meta.properties
├── __consumer_offsets-0
├── test-topic-0
如果你是用 systemd 管理 Kafka:
journalctl -u kafka -f
或查看 service 文件里的日志配置:
systemctl cat kafka
如果你还在用 Zookeeper:
/opt/kafka/logs/zookeeper.log
或:
/var/lib/zookeeper/
tail -n 200 /opt/kafka/logs/server.log
df -h
du -sh /var/lib/kafka/data
ss -lntp | grep 9092
| 类型 | 位置 |
|---|---|
| Kafka 运行日志 | /opt/kafka/logs/server.log |
| 日志配置 | config/log4j.properties |
| 消息数据 | log.dirs(默认 /tmp/kafka-logs) |
| systemd 日志 | journalctl -u kafka |
如果你愿意,可以告诉我:
我可以给你 精确到你环境的路径。