我有一些kafka使用者和生产者(春季启动),当它们连接的Kafka节点发生故障(例如,故障)时,他们会记录以下内容:
2019-03-15 11:02:53.278警告1 --- [tainer#1-23-C-1] org.apache.kafka.clients.NetworkClient:[消费者 clientId = consumer-29,groupId = OperationsConsumer]连接到错误 节点kafka-0.kafka-headless.test.svc.cluster.local:9092(id:1001 机架:空)
java.io.IOException:无法解析地址: kafka-0.kafka-headless.test.svc.cluster.local:9092
但是,即使我将节点明确设置为bootstrap.servers
属性,它们也不会尝试重新连接到有效的kafka节点。
在他们连接的kafka节点出现故障之后,如何使我的使用者重新连接到有效的kafka节点?
答案 0 :(得分:0)
检查您的重新连接属性:
在评估重新连接成功之前,您让它们过去了吗?
在bootstrap.servers
中,除了向下的节点外,至少还需要另一个节点,以便有机会建立新的连接。还请检查所有节点是否都通过相同的Zookeeper进行通信,以及Kafka设置本身是否处于良好状态。
答案 1 :(得分:0)
基于主机名,看起来您正在使用 Kubernetes
这在Kubernetes中非常复杂。
第一次尝试telnet hostname 9092
,如果它有效,则是Kafka配置问题,否则是kubernetes安装问题