【问题标题】:Where does Confluent's kafka-avro-console-consumer write its log files?Confluent 的 kafka-avro-console-consumer 将其日志文件写入哪里?
【发布时间】:2018-09-02 04:52:00
【问题描述】:

我正在运行 Confluent 的 kafka-avro-console-consumer,如 quickstart tutorial 中所述:

kafka-avro-console-consumer --topic test --zookeeper localhost:2181 --from-beginning

但是,我创建了一个单独的用户 kafka 来运行此命令。我收到错误消息

mkdir: cannot create directory '/usr/bin/../logs': Permission denied
log4j:ERROR setFile(null,true) call failed.
java.io.FileNotFoundException: /usr/bin/../logs/schema-registry.log (No such file or directory)
[...]

我宁愿不授予kafka 对整个/usr/bin 目录的写入权限。 Kafka 究竟在哪里尝试创建 logs 目录?

【问题讨论】:

    标签: apache-kafka confluent-platform confluent-schema-registry


    【解决方案1】:

    kafka-avro-console-consumer 尊重LOG_DIR 环境变量,因此如果您设置它,日志文件将被写入此目录。

    【讨论】:

    • Anders 你能提供更多细节吗?我在我的 .bashrc 中将LOG_DIR 变量设置为指向/var/log,即使它在回显时打印/var/log,运行kafka-avro-console-consumer 命令仍然会报告错误并将文件权限错误指向/usr/bin 基础路径。
    • 我认为这是一个纯粹的 unix/bash 问题。您可以尝试在 kafka-avro-console-consumer 命令之前直接在命令行上设置 LOG_DIR。将其设置为您确定可以写入的内容。例如LOG_DIR=~ /usr/bin/kafka-avro-console-consumer ...
    猜你喜欢
    • 2023-03-09
    • 1970-01-01
    • 2021-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-18
    • 1970-01-01
    • 2016-11-10
    相关资源
    最近更新 更多