我有一些 kafka 消费者和生产者(Spring 启动),当他们连接的 Kafka 节点出现故障(例如失败)时,他们会记录以下内容:
2019-03-15 11:02:53.278 WARN 1 --- [tainer#1-23-C-1] org.apache.kafka.clients.NetworkClient : [Consumer clientId=consumer-29, groupId=OperationsConsumer] Error connecting to node kafka-0.kafka-headless.test.svc.cluster.local:9092 (id: 1001 rack: null)
java.io.IOException: Can't resolve address: kafka-0.kafka-headless.test.svc.cluster.local:9092
但是他们不会尝试重新连接到有效的 kafka 节点,即使我明确地将节点设置为
bootstrap.servers
属性(property)。在他们连接的 kafka 节点出现故障后,如何让我的消费者重新连接到有效的 kafka 节点?
最佳答案
检查您的重新连接属性:
...如 Kafka docs 中所述
在评估重新连接成功之前,您是否让它们过去了?
在
bootstrap.servers
中,除了向下的节点之外,至少需要另外一个节点有机会建立新的联系。还请检查您的所有节点是否都通过相同的 Zookeeper 进行通信,并且 Kafka 设置本身是否处于良好状态。
关于java - Kafka 生产者/消费者在 kafka 节点故障后重新连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55181337/