无法在 Apache Kafka 中启动 Zookeeper 服务器

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)

有谁知道如何解决这个问题?

Mic*_*oll 8

配置文件的默认位置是用相对路径指定的,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)