Kafka问题(2):Batch containing 5 record(s) expired due to timeout while requesting metadata from broker

mac2025-12-18  5

记录kafka出现的问题,原因,与对应场景下的解决方案. 造成问题方式有很多种,这里只是记录遇到的或已知的,若有遗漏情况欢迎补充 由于问题很多出现在生产环境,故敏感信息已屏蔽,不影响问题介绍

文章目录

环境问题分析原因参考解决思路

环境

linuxjdk1.8kafka-client 0.10.x.xkafka-server 0.10.x.x

问题

kafka-Client报错如下

2019-10-30 17:03:39.048 [kafka-producer-network-thread | producer-2] ERROR (这里是一些业务自定义信息,设计隐私,不便展示) com.mym.test.exception.MsgSendFailException: org.apache.kafka.common.errors.TimeoutException: Batch containing 5 record(s) expired due to timeout while requesting metadata from brokers for TOPIC_1 at com.mym.test.produce.Producer10$1.onCompletion(Producer10.java:30) at org.apache.kafka.clients.producer.internals.RecordBatch.done(RecordBatch.java:109) at org.apache.kafka.clients.producer.internals.RecordBatch.maybeExpire(RecordBatch.java:155) at org.apache.kafka.clients.producer.internals.RecordAccumulator.abortExpiredBatches(RecordAccumulator.java:235) at org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:205) at org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:134) at java.lang.Thread.run(Thread.java:748) Caused by: org.apache.kafka.common.errors.TimeoutException: Batch containing 5 record(s) expired due to timeout while requesting metadata from brokers for TOPIC_1

重点

Caused by: org.apache.kafka.common.errors.TimeoutException: Batch containing 5 record(s) expired due to timeout while requesting metadata from brokers for TOPIC_1

分析原因

从报错信息可知,由于发送时请求kafka的brokers的metadata超时,导致数据被过期处理。即移除发送队列缓冲区(异步发送时),且会回调onComplete方法(如果设置了Callback时),exception传入onComplete方法告知上层给调用方本次数据发送失败。

出此报错信息一般是因为kafka集群内部有问题可能是kakfa某个broker"被下线",或者真的下线停了可能kafka集群内部有问题,某个分区leader正在reblance,时间过久

参考解决思路

一般kafka集群出了问题短时间自动恢复后,kafka-client也能感知到也能自动恢复。长时间挂掉的话,kafka-client可能也死了,就需要手动干预重启kafka-clien或通过其他干预或检测手段来恢复,一般思路原理就是重建连或手动让旧kafka-client连接再次尝试链接 确定kafka-client与kafka-server无网络问题zk上查看kafka是否有broker掉线逐一检查kafka的log,看是否有报错或有效信息,一般要多看点日志,kafka集群除了点问题,如果集群够大,可能恢复也要一定时间,这短时间可能仍然无法使用

造成问题方式有很多种,这里只是记录遇到的或已知的,若有遗漏情况欢迎补充

最新回复(0)