我有几个通过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 奥利弗
答案 0 :(得分:0)
对我来说,问题是,为什么它在开始时才起作用,并且仅在崩溃后才停止....
当您的Kafka代理重新启动时,它将获得一个新的IP地址。您必须确保新IP地址反映在您的代理属性中,即必须将其包含在播发的侦听器中。
您可以在Kafka部署之上提供 Kubernetes服务,并将其作为解决方法包含在您的广告监听器中 。
另一种方法是设置有状态,以便您的代理窗格始终获得相同的IP地址。降低您的经纪人的身份,添加advertised.listeners
并将其设置为经纪人吊舱IP并启动它。
一个经验法则是,您的kafkacat
主题元数据不得返回无法访问的地址。