我已经用kafka经纪人和zookeeper创建了docker,以运行脚本启动它。如果我重新启动,它将正常启动并运行正常(Windows-> WSL->两个tmux窗口,一个会话)。如果我关闭kafka或zookeeper并再次启动它,它将正常连接。
当我停止docker容器(docker stop my_kafka_container)时出现问题。然后,我从脚本./run_docker开始。在开始之前的那个脚本中,我删除了旧容器docker rm my_kafka_container
,然后进行docker run。
Zookeeper正常启动,并且在文件meta.properties中,它具有先前启动时的旧集群ID,但是由于某些原因,kafka代理无法通过znode cluster / id找到该ID,并创建了一个新的ID,该ID不是存储在meta中的ID。属性。我得到
ERROR Fatal error during KafkaServer startup. Prepare to shutdown (kafka.server.KafkaServer)
kafka.common.InconsistentClusterIdException: The Cluster ID m1Ze6AjGRwqarkcxJscgyQ doesn't match stored clusterId Some(1TGYcbFuRXa4Lqojs4B9Hw) in meta.properties. The broker is trying to join the wrong cluster. Configured zookeeper.connect may be wrong.
at kafka.server.KafkaServer.startup(KafkaServer.scala:220)
at kafka.server.KafkaServerStartable.startup(KafkaServerStartable.scala:44)
at kafka.Kafka$.main(Kafka.scala:84)
at kafka.Kafka.main(Kafka.scala)
[2020-01-04 15:58:43,303] INFO shutting down (kafka.server.KafkaServer)
如何避免代理更改群集ID?
要解决此问题:
这对我有用,但是我无法解释为什么...尝试一下并告诉我。
希望这项工作为您提供=)