从AWS Kafka主题读取消息时出错:Broker连接断开
AWS Kafka消费者Broker断开连接警告的解决办法
问题重现
执行以下命令从AWS MSK集群的mbn-to-ens-notification主题读取消息时,出现Broker断开连接的警告:
/workspace/source/kafka_2.13-3.1.0/bin/kafka-console-consumer.sh --bootstrap-server b-2.mbnmskclustersi.whjxra.c13.kafka.us-east-1.amazonaws.com:9096,b-1.mbnmskclustersi.whjxra.c13.kafka.us-east-1.amazonaws.com:9096 --topic mbn-to-ens-notification --from-beginning
警告日志:
[2024-04-30 20:14:51,039] WARN [Consumer clientId=console-consumer, groupId=console-consumer-49176] Bootstrap broker b-1.mbnmskclustersi.whjxra.c13.kafka.us-east-1.amazonaws.com:9096 (id: -2 rack: null) disconnected (org.apache.kafka.clients.NetworkClient)
排查修复步骤
检查网络连通性
在执行命令的机器上,用telnet b-1.mbnmskclustersi.whjxra.c13.kafka.us-east-1.amazonaws.com 9096测试端口是否可连通。AWS MSK的9096是TLS加密端口,需确认机器所在VPC与MSK集群VPC连通(跨VPC需配置对等连接),同时安全组、网络ACL未拦截9096端口的出入流量。补全TLS连接配置
9096端口要求TLS连接,默认需让客户端信任AWS根证书。可在命令中添加TLS相关参数:--consumer-property ssl.truststore.location=/usr/lib/jvm/java-1.8.0-openjdk-amd64/jre/lib/security/cacerts --consumer-property ssl.truststore.password=changeit若使用自定义证书,替换为对应的信任库路径和密码即可。
确认Broker运行状态
登录AWS控制台查看MSK集群的Broker状态,确认b-1节点是否正常运行,有无故障、重启或扩容操作。Broker本身异常会直接导致客户端连接断开。核对版本兼容性
当前客户端使用Kafka 2.13-3.1.0版本,需确认MSK集群的Kafka版本与客户端版本兼容。一般版本差距不超过一个大版本为安全范围,版本差异过大可能因协议不兼容引发断连。调优客户端连接参数
添加以下参数提升客户端重连能力:--consumer-property reconnect.backoff.ms=5000 --consumer-property retry.backoff.ms=1000 --consumer-property session.timeout.ms=30000这些参数可增强客户端在网络波动时的稳定性。
内容的提问来源于stack exchange,提问作者Raviraj Pophale
相关产品推荐
相关产品推荐

