Apache kafka KafkaTopicProvisioner无法获取分区

Apache kafka KafkaTopicProvisioner无法获取分区,apache-kafka,spring-kafka,kafka-producer-api,Apache Kafka,Spring Kafka,Kafka Producer Api,我观察到我的服务在下降,只有以下例外。原因是我们三个卡夫卡经纪人中的一个倒闭了。spring总是试图联系同一个经纪人。在跳过故障代理并连接到下一个可用代理之前,Kubernetes正在重新启动pod(由于在60秒时配置的liveness probe故障)。由于重启,下次它还会尝试连接到同一个第一个出现故障的代理,因此pod永远不会出现 如何将spring配置为不等待故障代理超过10秒 我找到了cloud.stream.binder.healthTimeout属性,但不确定这是否正确。如何在我的本

我观察到我的服务在下降,只有以下例外。原因是我们三个卡夫卡经纪人中的一个倒闭了。spring总是试图联系同一个经纪人。在跳过故障代理并连接到下一个可用代理之前,Kubernetes正在重新启动pod(由于在60秒时配置的liveness probe故障)。由于重启,下次它还会尝试连接到同一个第一个出现故障的代理,因此pod永远不会出现

如何将spring配置为不等待故障代理超过10秒

我找到了
cloud.stream.binder.healthTimeout
属性,但不确定这是否正确。如何在我的本地数据库中复制该问题

卡夫卡版本:2.2.1

{“timestamp”:“2020-01-21T17:16:47.598Z”,“level”:“ERROR”,“thread”:“main”,“logger”:“org.springframework.cloud.stream.binder.kafka.provisioning.KafkaTopicProvisioner”,“message”:“Failed” 获得分区 信息“,”上下文“:”默认“,”异常“:”org.apache.kafka.common.errors.TimeoutException: 未能在60000毫秒后更新元数据。\n“}


更改bootstrap.server地址的顺序如何?此外,如果代理实际上已关闭,那么控制器将不会返回该节点。我们现在更改了顺序。但这并不是永久性的解决办法。将来,其他一些经纪人可能会倒闭。正确的方法是在运行时切换到下一个可用的代理。您不显示完整的堆栈跟踪(对于此类问题,您应该始终显示完整的堆栈跟踪),因此我不知道您是在设置生产者还是消费者。尝试减少
default.api.timeout.ms
(使用者)和/或
max.block.ms
(生产者)。您正在运行什么版本的卡夫卡?您的主题实际有多少副本?制作人是否试图确认每个事件?卡夫卡的版本是2.2.1。每个主题有2个副本。