Kafka重新启动后,kubernetes上的``分区中的领导者经纪人没有匹配的监听器''

时间:2019-09-12 13:28:01

标签: spring-boot kubernetes apache-kafka azure-aks

我有几个通过kubernetes集群中运行的kafka进行通信的spring boot应用程序。使用bitnami / kafka掌舵图来部署kafka。

一切正常,直到kafka代理(我只有一个实例)重新启动。之后,我得到生产者“ X分区具有没有匹配侦听器的领导者经纪人”……以解决我必须再次设置整个群集以使其正常工作的情况,这意味着杀死所有应用程序,删除kafka和卷并将所有内容放回原处。 / p>

找到了一些有关“ advertised.listeners”的内容,但没有任何效果。 例如,一个: https://medium.com/@tsuyoshiushio/configuring-kafka-on-kubernetes-makes-available-from-an-external-client-with-helm-96e9308ee9f4

对我来说,问题是,为什么它在开始时才起作用,只有崩溃后才停止....

Thx 奥利弗

1 个答案:

答案 0 :(得分:0)

  

对我来说,问题是,为什么它在开始时才起作用,并且仅在崩溃后才停止....

当您的Kafka代理重新启动时,它将获得一个新的IP地址。您必须确保新IP地址反映在您的代理属性中,即必须将其包含在播发的侦听器中。

您可以在Kafka部署之上提供 Kubernetes服务,并将其作为解决方法包含在您的广告监听器中

另一种方法是设置有状态,以便您的代理窗格始终获得相同的IP地址。降低您的经纪人的身份,添加advertised.listeners并将其设置为经纪人吊舱IP并启动它。

一个经验法则是,您的kafkacat主题元数据不得返回无法访问的地址。