在 Ubuntu 上修改 Kafka 的日志路径(这里通常指 Kafka 自身运行日志,不是 topic 数据),主要从 Kafka 启动脚本 / 日志配置文件 入手。下面分情况说明。
Kafka 使用 log4j 输出日志(server.log、controller.log 等)。
一般路径:
/opt/kafka/config/log4j.properties
# 或
/usr/local/kafka/config/log4j.properties
编辑:
sudo vim /opt/kafka/config/log4j.properties
找到类似内容:
log4j.appender.kafkaAppender.File=${kafka.logs.dir}/server.log
默认 kafka.logs.dir 在启动脚本中定义,一般是:
/opt/kafka/logs
在 log4j.properties 顶部添加或修改:
kafka.logs.dir=/data/kafka/logs
确保目录存在:
sudo mkdir -p /data/kafka/logs
sudo chown -R kafka:kafka /data/kafka/logs
Kafka 启动脚本 kafka-server-start.sh 中会设置:
LOG_DIR=/opt/kafka/logs
sudo vim /opt/kafka/bin/kafka-server-start.sh
找到:
LOG_DIR=${LOG_DIR:-"$base_dir/logs"}
改成:
LOG_DIR=/data/kafka/logs
如果你说的是 Kafka 消息数据,不是日志文件:
编辑:
sudo vim /opt/kafka/config/server.properties
修改:
log.dirs=/data/kafka/data
然后:
sudo mkdir -p /data/kafka/data
sudo chown -R kafka:kafka /data/kafka
重启 Kafka:
sudo systemctl restart kafka
如果你用 systemd:
sudo systemctl edit kafka
添加:
[Service]
Environment=LOG_DIR=/data/kafka/logs
ls /data/kafka/logs
# 应看到
server.log
controller.log
| 需求 | 修改位置 |
|---|---|
| Kafka 运行日志 | log4j.properties 或 kafka-server-start.sh |
| Topic 数据 | server.properties 的 log.dirs |
如果你愿意,可以告诉我:
我可以给你更精确的配置。