在 Debian 上配置 Kafka 日志(包括Kafka 自身运行日志和Kafka 消息数据日志)通常从以下几个层面入手。下面按常见场景说明。
这是 Kafka 存储消息的地方,由 server.properties 控制。
一般路径:
/etc/kafka/server.properties
# 或
/opt/kafka/config/server.properties
# 数据日志根目录(可配置多个,用逗号分隔)
log.dirs=/var/lib/kafka/data
# 单日志段大小(默认 1GB)
log.segment.bytes=1073741824
# 日志保留时间(小时)
log.retention.hours=168
# 日志保留大小(可选)
log.retention.bytes=10737418240
# 日志清理策略
log.cleanup.policy=delete
# 或 compact(适合 kv 类数据)
sudo mkdir -p /var/lib/kafka/data
sudo chown -R kafka:kafka /var/lib/kafka
Kafka 使用 log4j(老版本)或 log4j2(新版本)。
/etc/kafka/log4j.properties
# 或
/opt/kafka/config/log4j.properties
log4j.rootLogger=INFO, file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=/var/log/kafka/kafka.log
log4j.appender.file.MaxFileSize=100MB
log4j.appender.file.MaxBackupIndex=10
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yy-MM-dd HH:mm:ss} %p %c{1}: %m%n
sudo mkdir -p /var/log/kafka
sudo chown -R kafka:kafka /var/log/kafka
如果你用 systemd 管理 Kafka:
sudo systemctl edit kafka
示例:
[Service]
Environment=LOG_DIR=/var/log/kafka
查看日志:
journalctl -u kafka -f
sudo nano /etc/logrotate.d/kafka
/var/log/kafka/*.log {
daily
rotate 7
compress
missingok
notifempty
}
log.dirs 权限log.retention.*KAFKA_LOG4J_OPTS如果你能补充:
我可以给你更精确的 Debian 配置示例。