在 Debian 上配置 Kafka 日志(包括运行日志和数据日志)通常从以下几个方面入手。下面按常见需求给你一个清晰说明。
Kafka 使用 log4j(老版本)或 log4j2 / reload4j(新版本)管理日志。
通常在:
/etc/kafka/server.properties
/opt/kafka/config/log4j.properties
/usr/share/kafka/config/log4j.properties
如果你是用 apt 安装的 Kafka(如 confluent 或 bitnami),路径可能不同。
编辑 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
log4j.appender.kafkaAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.kafkaAppender.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %p %c{1}: %m%n
常见日志级别:
DEBUG:调试INFO:默认WARNERRORsudo mkdir -p /var/log/kafka
sudo chown -R kafka:kafka /var/log/kafka
这是 真正的消息数据,不是运行日志。
/etc/kafka/server.properties
log.dirs=/var/lib/kafka/data
可配置多个磁盘:
log.dirs=/data1/kafka,/data2/kafka
# 日志保留时间(小时)
log.retention.hours=168
# 日志保留大小
log.retention.bytes=1073741824
# 单个 segment 大小
log.segment.bytes=1073741824
# 清理策略
log.cleanup.policy=delete
sudo chown -R kafka:kafka /var/lib/kafka
如果你用 systemd 启动 Kafka:
journalctl -u kafka -f
可在 service 文件中限制日志:
[Service]
StandardOutput=journal
StandardError=journal
log.dirs=/data/kafka-logs
log.retention.hours=72
log.segment.bytes=1G
log.cleanup.policy=delete
num.partitions=3
default.replication.factor=3
log.retention.hourslog.cleanup.policy=compact(适合 kv 类型)log.dirslog.retention.bytes如果你能告诉我:
我可以给你精确配置文件和命令。