sir*_*dan 3 java apache-kafka apache-zookeeper
我在kafka_home/bin/windows(如建议here)。然后我遇到了与这里相同的问题,它建议从 kafka home 启动程序。从 windows 文件夹启动时出现此错误:
INFO Reading configuration from: config/zookeeper.properties (org.apache.zookeeper.server.quorum.QuorumPeerConfig)
[2014-08-21 11:53:55,748] FATAL Invalid config, exiting abnormally (org.apache.zookeeper.server.quorum.QuorumPeerMain)
org.apache.zookeeper.server.quorum.QuorumPeerConfig$ConfigException: Error processing config/zookeeper.properties
at org.apache.zookeeper.server.quorum.QuorumPeerConfig.parse(QuorumPeerConfig.java:110)
at org.apache.zookeeper.server.quorum.QuorumPeerMain.initializeAndRun(QuorumPeerMain.java:99)
at org.apache.zookeeper.server.quorum.QuorumPeerMain.main(QuorumPeerMain.java:76)
Caused by: java.lang.IllegalArgumentException: config/zookeeper.properties file is missing
at org.apache.zookeeper.server.quorum.QuorumPeerConfig.parse(QuorumPeerConfig.java:94)
... 2 more
Invalid config, exiting abnormally
Run Code Online (Sandbox Code Playgroud)
有谁知道如何解决这个问题?
配置文件的默认位置是用相对路径指定的,config/zookeeper.properties.
Kafka 的目录树看起来有点像这样:
bin/
|
+-- zookeeper-server-start.sh
|
+-- windows/
|
+-- zookeeper-server-start.bat
config/
|
+-- zookeeper.properties
Run Code Online (Sandbox Code Playgroud)
因此,如果您确实在bin/windows/目录中,然后zookeeper-server-start.bat从那里运行,ZK 启动脚本将有效地查找其在 处的配置bin/windows/config/zookeeper.properties,而该配置并不存在。
查看现有答案(Windows 上的 Apache Kafka 错误 - 无法找到或加载主类 QuorumPeerMain)以获取启动 ZK 启动脚本的正确命令,其中示例命令行明确定义了在哪里可以找到配置文件:
$ cd bin/windows
$ zookeeper-server-start.bat ../../config/zookeeper.properties
# The below will NOT work (explanation is above)
$ cd bin/windows
$ zookeeper-server-start.bat
Run Code Online (Sandbox Code Playgroud)