首页 > 解决方案 > KafkaTopicProvisioner 获取分区失败

问题描述

我观察到我的服务出现了以下异常。原因是我们的三个 Kafka 经纪人之一宕机了。Spring 总是试图与同一个经纪人联系。在它可以跳过故障代理并连接到下一个可用代理之前,Kubernetes 正在重新启动 pod(由于活动探测失败配置为 60 秒)。由于重新启动,下次它也会尝试连接到相同的第一个故障代理,因此 pod 永远不会出现。

我们如何配置 spring 不等待超过 10 秒的故障代理?

我找到了cloud.stream.binder.healthTimeout财产,但不确定这是否是正确的。我如何在本地复制该问题。

卡夫卡版本:2.2.1

{“时间戳”:“2020-01-21T17:16:47.598Z”,“级别”:“错误”,“线程”:“主”,“记录器”:“org.springframework.cloud.stream.binder.kafka .provisioning.KafkaTopicProvisioner”,“message”:“获取分区信息失败”,“context”:“default”,“exception”:“org.apache.kafka.common.errors.TimeoutException: 60000毫秒后更新元数据失败.\n”}

标签: apache-kafkaspring-kafkakafka-producer-api

解决方案


推荐阅读