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