无法使用 zookeeper 启动 kafka (kafka.common.InconsistentClusterIdException)

Dor*_*ian 13 windows zookeeper kafka

在我为解决此问题所做的步骤下方:

  1. 启动 ZooKeeper
  2. 启动卡夫卡: .\bin\windows\kafka-server-start.bat .\config\server.properties

另请注意,我的操作系统是 Windows

在第二步发生错误:

ERROR KafkaServer 启动期间的致命错误。准备关闭 (kafka.server.KafkaServer) kafka.common.InconsistentClusterIdException:集群 ID Reu8ClK3TTywPiNLIQIm1w 与 meta.properties 中存储的 clusterId Some(BaPSk1bCSsKFxQQ4717R6Q) 不匹配。代理正在尝试加入错误的集群。配置的zookeeper.connect 可能是错误的。 在 kafka.server.KafkaServer.startup(KafkaServer.scala:220) 在 kafka.server.KafkaServerStartable.startup(KafkaServerStartable.scala:44) 在 kafka.Kafka$.main(Kafka.scala:84) 在 kafka.Kafka.main (Kafka.scala)

当我触发.\bin\windows\kafka-server-start.bat .\config\server.properties zookeeper控制台返回时:

信息 [SyncThread:0:FileTxnLog@216] - 创建新的日志文件:log.1

如何解决此问题以使 kafka 运行?

编辑按照这些步骤查看此答案解决了我的问题

小智 15

我通过删除日志目录中的 meta.properties 文件在我的机器(Windows 10)上解决了这个问题。

在我停止了动物园管理员和服务器然后重新启动它们之后,问题本身就发生了。


小智 10

通常,当kafka日志存储在持久文件夹中而zookeeper数据存储在临时文件夹中时,就会出现此问题,反之亦然。然后,系统重新启动后,存储在临时目录中的文件会被清理并重新生成,从而导致配置不匹配。

为了防止这种情况再次发生,请修改log.dirskafka中的参数server.propertiesdataDirzookeeper中的参数zookeeper.properties并确保两者都指向相同类型的目录(例如临时或持久)。仅在使用 Jacob 答案中的示例方法重置不一致的数据(如果有)之后,即删除meta.properties文件,然后重新启动 Zookeeper 和 kafka。


小智 0

如果您不介意丢失数据,则可以删除 kafka“数据”文件夹并重新启动 kafka。如果您使用默认位置,名为“data”的文件夹可能位于 /tmp/kafka-logs 中。