Redpanda生产环境Kafka-ui超时与连接异常问题求助
问题描述
在AWS 8GB内存EC2实例上部署kafka-ui管理Redpanda集群,测试环境(3个broker)运行正常,但生产环境(4个broker)无法完整查看信息:查看消费者或指标时出现DisconnectException、TimeoutException;点击消费者触发连接关闭异常;Docker日志频繁出现重试获取元数据的记录。
环境与配置
kafka-ui配置文件:
kafka: clusters: - name: "Redpanda-PROD" bootstrapServers: "10.0.100.40:9092" metrics: port: 9644 type: PROMETHEUS
错误日志
查看消费者/指标时的错误
Caused by: org.apache.kafka.common.errors.DisconnectException: Cancelled metadata request with correlation id 176225 due to node 3 being disconnected 2023-10-30 17:19:07,026 ERROR [parallel-2] o.s.b.a.w.r.e.AbstractErrorWebExceptionHandler: [5fba5835-148] 500 Server Error for HTTP GET "/api/clusters/Redpanda-PROD/topics/mytopic/consumer-groups" org.apache.kafka.common.errors.TimeoutException: Error listing groups on 10.0.100.40:9092 (id: 1 rack: null): Timed out waiting for a node assignment. Call: listConsumerGroups ...
点击消费者时的错误
ERROR [reactor-http-epoll-1] o.s.w.s.a.HttpWebHandlerAdapter: [a12a6d65-1546] Error [java.lang.IllegalArgumentException: Context does not have an entry for key [class io.micrometer.core.instrument.Timer$Sample]] for HTTP GET "/", but ServerHttpResponse already committed (200 OK) 2023-10-31 00:07:21,587 ERROR [parallel-1] r.c.p.Operators: Operator called default onErrorDropped reactor.netty.channel.AbortedException: Connection has been closed BEFORE send operation ...
Docker重复日志
INFO [kafka-admin-client-thread | kafka-ui-admin-1698745696-1] o.a.k.c.a.KafkaAdminClient: [AdminClient clientId=kafka-ui-admin-1698745696-1] Retrying to fetch metadata.
解决思路
- 网络连通性排查:
- 确认kafka-ui所在EC2实例能访问所有4个Redpanda broker的9092端口(不仅是bootstrap server),检查生产环境新增broker的安全组规则、私有网络路由是否配置正确。
- 验证Redpanda broker的
advertised.listeners配置,确保对外暴露的地址是kafka-ui可访问的(如私有IP),避免broker返回内部不可达地址导致连接断开。
- 资源限制调整:
- 生产环境broker数量更多,尝试增加kafka-ui容器的内存限制(建议调整到2GB以上),避免内存不足引发连接超时或异常。
- 检查EC2实例的CPU、内存使用率,若负载过高,考虑升级实例规格或优化Redpanda集群的资源占用。
- kafka-ui配置优化:
- 添加admin client超时配置到kafka-ui的yaml文件:
properties: admin: client: config: request.timeout.ms: 30000 metadata.max.age.ms: 30000 - 确认所有broker的9644端口可被kafka-ui访问,且Redpanda的metrics功能正常开启,避免单个broker metrics不可达导致整体请求失败。
- 添加admin client超时配置到kafka-ui的yaml文件:
- Redpanda集群状态检查:
- 用
rpk cluster health命令确认生产环境所有broker在线、同步状态正常,排除集群内部故障导致的元数据获取失败。 - 查看Redpanda broker日志,检查是否存在连接中断、资源不足(如磁盘IO过高)等异常。
- 用
内容的提问来源于stack exchange,提问作者Marco Ferrara
相关产品推荐
相关产品推荐

