在 Debian 上部署 Kafka 时,“日志”一般有两层含义,设置方式不同:
下面分别说明。
这是 Kafka 存 topic 数据的地方,由 server.properties 控制。
通常在:
/etc/kafka/server.properties
# 或
/opt/kafka/config/server.properties
找到:
log.dirs=/tmp/kafka-logs
改为你想要的目录,例如:
log.dirs=/var/lib/kafka/logs
确保目录存在并且 Kafka 用户有权限:
sudo mkdir -p /var/lib/kafka/logs
sudo chown -R kafka:kafka /var/lib/kafka
⚠️ 不要放在
/tmp,重启会丢数据
Kafka 使用 log4j(旧版)或 log4j2(新版)。
/opt/kafka/config/log4j.properties
# 或
/etc/kafka/log4j.properties
log4j.rootLogger=INFO, stdout, kafkaAppender
log4j.appender.kafkaAppender=org.apache.log4j.RollingFileAppender
log4j.appender.kafkaAppender.File=/var/log/kafka/server.log
log4j.appender.kafkaAppender.MaxFileSize=100MB
log4j.appender.kafkaAppender.MaxBackupIndex=10
创建日志目录:
sudo mkdir -p /var/log/kafka
sudo chown -R kafka:kafka /var/log/kafka
如果你用 systemd 启动 Kafka:
sudo systemctl edit kafka
可限制日志大小:
[Service]
StandardOutput=journal
StandardError=journal
查看日志:
journalctl -u kafka -f
# 实时看 Kafka 日志
tail -f /var/log/kafka/server.log
# 看 systemd 日志
journalctl -u kafka -n 100
| 类型 | 配置文件 | 路径示例 |
|---|---|---|
| 消息数据 | server.properties | /var/lib/kafka/logs |
| 运行日志 | log4j.properties | /var/log/kafka/server.log |
| 系统日志 | systemd | journalctl |
如果你能告诉我:
我可以给你更精确的配置示例。