无效配置,从 Kafka 教程启动 zookeper 时异常退出

Invalid Config, Exiting abnormally when launching zookeper from Kafka tutorial

我正在按照本教程尝试设置 kafka,

https://kafka.apache.org/quickstart

我在做关于 zookeeper 的部分时遇到了这个错误。 跟配置肯定有关系,就是不知道扩展到什么程度。

bin/zookeeper-server-start.sh config/server.properties
[2018-03-17 03:27:11,623] INFO Reading configuration from: config/server.properties (org.apache.zookeeper.server.quorum.QuorumPeerConfig)
[2018-03-17 03:27:11,628] ERROR Invalid config, exiting abnormally (org.apache.zookeeper.server.quorum.QuorumPeerMain)
org.apache.zookeeper.server.quorum.QuorumPeerConfig$ConfigException: Error processing config/server.properties
    at org.apache.zookeeper.server.quorum.QuorumPeerConfig.parse(QuorumPeerConfig.java:154)
    at org.apache.zookeeper.server.quorum.QuorumPeerMain.initializeAndRun(QuorumPeerMain.java:101)
    at org.apache.zookeeper.server.quorum.QuorumPeerMain.main(QuorumPeerMain.java:78)
Caused by: java.lang.NumberFormatException: For input string: "initial.rebalance.delay.ms"
    at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
    at java.lang.Long.parseLong(Long.java:589)
    at java.lang.Long.parseLong(Long.java:631)
at org.apache.zookeeper.server.quorum.QuorumPeerConfig.parseProperties(QuorumPeerConfig.java:242)
    at org.apache.zookeeper.server.quorum.QuorumPeerConfig.parse(QuorumPeerConfig.java:150)
    ... 2 more
Invalid config, exiting abnormally

如果仔细观察,您会发现启动 Zookeeper 的命令是:

bin/zookeeper-server-start.sh config/zookeeper.properties

使用 zookeeper.properties 文件。

您似乎复制了启动 Kafka 的命令,该命令正在使用 server.properties

尝试删除 config/ ,直接使用该文件。

例如

bin/zookeeper-server-start.sh zookeeper.properties

您正在使用以下方式启动 zookeeper:

bin/zookeeper-server-start.sh config/server.properties

Zookeeper 配置设置位于 zookeeper.properties 文件中。 因此,要启动动物园管理员:

bin/zookeeper-server-start.sh config/zookeeper.properties

以及启动 KAFKA 服务器:

bin/kafka-server-start.sh config/server.properties

记住哪个文件随哪个服务器一起提供。

我遇到了同样的问题,因为我在我的终端中直接给出了 step2 命令,这是错误的。我们必须在我们的 Kafka 文件夹中执行步骤 2 的 运行 命令。 按照以下步骤成功 运行 zookeeper。

第 1 步:转到您的 kafka 文件夹或简单地执行 cd $KAFKA_HOME

第 2 步:bin/zookeeper-server-start.sh ./config/zookeeper.properties

我通过以下操作在 Windows 上解决了这个问题。

确保指定完整路径。

首先,转到您的 kafka 安装的 bin\windows 文件夹:

C:\kafka_2.12-2.0.0\bin\windows

然后,运行以下命令:

.\zookeeper-server-start.bat C:\kafka_2.12-2.0.0\config\zookeeper.properties

完成后,您将看到以下输出:

[2020-07-06 20:25:13,703] INFO Server environment:user.dir=C:\kafka_2.12-2.0.0\bin\windows (org.apache.zookeeper.server.ZooKeeperServer)
[2020-07-06 20:25:13,716] INFO tickTime set to 3000 (org.apache.zookeeper.server.ZooKeeperServer)
[2020-07-06 20:25:13,717] INFO minSessionTimeout set to -1 (org.apache.zookeeper.server.ZooKeeperServer)
[2020-07-06 20:25:13,717] INFO maxSessionTimeout set to -1 (org.apache.zookeeper.server.ZooKeeperServer)
[2020-07-06 20:25:13,787] INFO Using org.apache.zookeeper.server.NIOServerCnxnFactory as server connection factory (org.apache.zookeeper.server.ServerCnxnFactory)
[2020-07-06 20:25:13,791] INFO binding to port 0.0.0.0/0.0.0.0:2181 (org.apache.zookeeper.server.NIOServerCnxnFactory)
  1. 检查“dataDir=/tmp/zookeeper1”,如果不存在则在该目录中创建一个目录和一个文件 myid
mkdir -p /tmp/zookeeper1
chmod -R 777 /tmp/zookeeper1
vi /tmp/zookeeper1/myid 
(add value as 1, this is server-id from server.1=)