2

启动 Spring Cloud Data Flow 流时,由于各种 Kafka 相关错误,应用程序经常无法在我的机器上部署。例如: org.springframework.cloud.stream.binder.BinderException: Cannot initialize binder [...] Caused by: kafka.common.KafkaException: fetching topic metadata for topics [Set(xxx)] from broker [List()] failed

但我也看到了这个: kafka.admin.AdminOperationException: replication factor: 1 larger than available brokers: 0

在这两种情况下,Kafka 进程(以及 ZooKeeper)都在运行,所以我假设已经通过了某种超时阈值。

通用配置和特定于Kafka 的配置似乎都没有提供任何超时选项。

有什么方法可以影响 Kafka 客户端放弃并假设代理已经离开的时间量?

4

2 回答 2

2

您可以使用 kafka 工具命令获取主题信息./bin/kafka-topics.sh吗?它看起来像是 Kafka 配置问题,而不是可能的超时。

如果您想在 kafka 生产者/消费者中设置任何通用属性(如 connect.timeout.ms 等),您可以通过spring.cloud.stream.kafka.bindings.<channelName>.<producer/consumer>.configuration.<propertyName>=<propertyValue>

于 2016-10-04T12:25:32.020 回答
0

似乎 kafka 代理运行不正确,您可以尝试使用 bin/kafka-topics.sh --describe --zookeeper <your zookeeper host>:2181来查看您的主题是否同步。

于 2016-10-05T05:07:57.657 回答