0

Apache Kafka 无法启动。它在其日志中显示“无法从 Zookeeper 获取集群 ID。如果 /cluster/id 从 Zookeeper 中删除,就会发生这种情况。”

如何检查“/cluster/id”?

以前,当 kafka 无法启动时,是因为我在服务器上更新了 java。因此,我需要将 $JAVA_HOME 重新定向到新路径并重新启动 kafka,它会再次正常工作。但是,这种情况不同,我检查了 $JAVA_HOME 并且它是正确的。所以,我想知道这个问题的更多细节。我读了一个日志文件,/opt/kafka/logs得到了这个日志:

[2019-08-21 10:18:40,472] ERROR Fatal error during KafkaServer startup. Prepare to shutdown (kafka.server.KafkaServer)
org.apache.kafka.common.KafkaException: Failed to get cluster id from Zookeeper. This can happen if /cluster/id is deleted from Zookeeper.
        at kafka.zk.KafkaZkClient.$anonfun$createOrGetClusterId$1(KafkaZkClient.scala:1498)
        at scala.Option.getOrElse(Option.scala:138)
        at kafka.zk.KafkaZkClient.createOrGetClusterId(KafkaZkClient.scala:1498)
        at kafka.server.KafkaServer.$anonfun$getOrGenerateClusterId$1(KafkaServer.scala:390)
        at scala.Option.getOrElse(Option.scala:138)
        at kafka.server.KafkaServer.getOrGenerateClusterId(KafkaServer.scala:390)
        at kafka.server.KafkaServer.startup(KafkaServer.scala:208)
        at kafka.server.KafkaServerStartable.startup(KafkaServerStartable.scala:38)
        at kafka.Kafka$.main(Kafka.scala:75)
        at kafka.Kafka.main(Kafka.scala)
[2019-08-21 10:18:40,476] INFO shutting down (kafka.server.KafkaServer)
[2019-08-21 10:18:40,488] INFO [ZooKeeperClient] Closing. (kafka.zookeeper.ZooKeeperClient)
[2019-08-21 10:18:40,500] INFO Session: 0x100494a8714000a closed (org.apache.zookeeper.ZooKeeper)
[2019-08-21 10:18:40,505] INFO EventThread shut down for session: 0x100494a8714000a (org.apache.zookeeper.ClientCnxn)
[2019-08-21 10:18:40,507] INFO [ZooKeeperClient] Closed. (kafka.zookeeper.ZooKeeperClient)
[2019-08-21 10:18:40,517] INFO shut down completed (kafka.server.KafkaServer)
[2019-08-21 10:18:40,517] ERROR Exiting Kafka. (kafka.server.KafkaServerStartable)
[2019-08-21 10:18:40,554] INFO shutting down (kafka.server.KafkaServer)

当我阅读上一个错误时

Failed to get cluster id from Zookeeper. This can happen if /cluster/id is deleted from Zookeeper.

我虽然错误地删除了该路径中的“zookeeper id”,/tmp/zookeeper/myid但该文件仍然存在,其中写入了相应的服务器编号,并且 zk 工作正常。我的卡夫卡版本是 2.2.0 。

我在网上搜索了这个错误“无法从 Zookeeper 获取集群 ID。如果 /cluster/id 从 Zookeeper 中删除,就会发生这种情况。”

但老实说,我没有发现任何有用的东西。

4

0 回答 0