spring boot—“在kafka重启之后,kubernetes上的分区具有没有匹配侦听器的leader代理”

vpfxa7rd  于 2021-06-04  发布在  Kafka
关注(0)|答案(1)|浏览(362)

我在kubernetes集群中运行了几个通过kafka进行通信的spring boot应用程序。使用比特纳米/Kafka Helm 图部署Kafka。
一切正常,直到kafka代理(我只有一个示例)重新启动。在那之后,我得到了producer'x分区的leader broker没有匹配的侦听器'。。。要解决这个问题,我必须重新设置整个集群,使其工作意味着杀死所有应用程序,删除Kafka和卷,并把一切都放回去。
找到了一些关于“广告听众”的东西,但什么都没用。例如:https://medium.com/@tsuyoshiushio/configuring-kafka-on-kubernetes-makes-available-from-an-external-client-with-helm-96e9308ee9f4Kafka
对我来说,问题是,为什么它在一开始工作,只有在崩溃后才停止。。。。
thx奥利弗

vuktfyat

vuktfyat1#

对我来说,问题是,为什么它在一开始工作,只有在崩溃后才停止。。。。
当您的kafka代理重新启动时,它将获得一个新的ip地址。您必须确保新的ip地址反映在您的代理属性中,即它必须包含在播发的侦听器中。
您可以在kafka部署之上有一个kubernetes服务,并将其作为一种解决方法包含在播发的侦听器中。
另一种方法是设置stateful,以便您的代理pod始终获得相同的ip地址。打倒你的经纪人 advertised.listeners 将其设置为broker pod ip并启动它。
一条经验法则是你的 kafkacat 主题元数据不能返回无法访问的地址。

相关问题