apache-kafka - kafka 无法从 URL [file:/c/kafka_2.12-2.8.0/bin/../config/tools-log4j.properties] 读取 log4j 配置文件
问题描述
我开始了 zkper 和 kafka。然后我尝试运行消费者并收到此错误。我使用的命令:
kafka-console-consumer.sh --zookeeper localhost:2181 --topic erjan --from-beginning
错误:
erjan@erjancomputer MINGW64 /c/kafka_2.12-2.8.0/bin/windows
$ kafka-console-consumer.sh --zookeeper localhost:2181 --topic erjan --from-beginning
log4j:ERROR Could not read configuration file from URL [file:/c/kafka_2.12-2.8.0/bin/../config/tools-log4j.properties].
java.io.FileNotFoundException: \c\kafka_2.12-2.8.0\bin\..\config\tools-log4j.properties (The system cannot find the path specified)
at java.io.FileInputStream.open0(Native Method)
at java.io.FileInputStream.open(FileInputStream.java:195)
at java.io.FileInputStream.<init>(FileInputStream.java:138)
at java.io.FileInputStream.<init>(FileInputStream.java:93)
at sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:90)
at sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:188)
at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:557)
at org.apache.log4j.helpers.OptionConverter.selectAndConfigure(OptionConverter.java:526)
at org.apache.log4j.LogManager.<clinit>(LogManager.java:127)
at org.slf4j.impl.Log4jLoggerFactory.<init>(Log4jLoggerFactory.java:66)
at org.slf4j.impl.StaticLoggerBinder.<init>(StaticLoggerBinder.java:72)
at org.slf4j.impl.StaticLoggerBinder.<clinit>(StaticLoggerBinder.java:45)
at org.slf4j.LoggerFactory.bind(LoggerFactory.java:150)
at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:124)
at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:417)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:362)
at com.typesafe.scalalogging.Logger$.apply(Logger.scala:48)
at kafka.utils.Log4jControllerRegistration$.<init>(Logging.scala:25)
at kafka.utils.Log4jControllerRegistration$.<clinit>(Logging.scala)
at kafka.utils.Logging.$init$(Logging.scala:47)
at kafka.tools.ConsoleConsumer$.<init>(ConsoleConsumer.scala:44)
at kafka.tools.ConsoleConsumer$.<clinit>(ConsoleConsumer.scala)
at kafka.tools.ConsoleConsumer.main(ConsoleConsumer.scala)
log4j:ERROR Ignoring configuration file [file:/c/kafka_2.12-2.8.0/bin/../config/tools-log4j.properties].
log4j:WARN No appenders could be found for logger (kafka.utils.Log4jControllerRegistration$).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
zookeeper is not a recognized option
为什么看不到 config/log4j.properties?
解决方案
找不到 log4j 文件,因为我猜想,mingw 或 Windows 中的类似 shell 环境并没有在 Kafka 源代码中真正测试过。这就是为什么有.bat
脚本的原因。如果您想使用 Linux shell,请卸载 Git Bash 并使用 WSL2
除此之外,它与实际错误无关。您需要使用--bootstrap-server localhost:9092
而不是 Zookeeper 标志才能从 Kafka 消费。
参考官方文档(适用于Linux),但命令参数都是一样的,即使你使用windows脚本
推荐阅读
- mysql - 我无法让 mysql 和 phpmyadmin 与 Laradock 一起使用,我在这里推荐了所有选项
- python - MyPy 没有给出明确类型错误的警告,我是不是搞错了?
- python - 为什么 Oanda 订单请求会给出错误消息?
- html - 如何知道浏览器从哪个版本开始支持特定功能?
- php - PHP / VB.NET POST 请求
- php - Silverstripe 3 列出特定文件夹中的所有模板(.ss - 文件)
- facebook-messenger - 以编程方式创建 Facebook Messenger 机器人的多个实例?
- jspdf - Jspdf向右浮动项目
- sql-server - 如何在 Visual Studio 2017“查看数据”网格中显示完整的日期时间值?
- arrays - 如何使用 react-native-svg 正确处理折线图上的负值