Kafka常见错误整理(不断更新中)
1、unknowntopicorpartitionexception
org.apache.kafka.common.errors.unknowntopicorpartitionexception: this server does not host this topic-partition
报错内容:分区数据不在
原因分析:producer向不存在的topic发送消息,用户可以检查topic是否存在 或者设置auto.create.topics.enable参数
2、leader_not_available
warn error while fetching metadata with correlation id 0 : {test=leader_not_available} (org.apache.kafka.clients.networkclient
报错内容:leader不可用
原因分析:原因很多 topic正在被删除 正在进行leader选举 使用kafka-topics脚本检查leader信息
进而检查broker的存活情况 尝试重启解决
3、notleaderforpartitionexception
org.apache.kafka.common.errors.notleaderforpartitionexception: this server is not the leader for that topic-partition
报错内容:broker已经不是对应分区的leader了
原因分析:发生在leader变更时 当leader从一个broker切换到另一个broker时,要分析什么原因引起了leader的切换
4、timeoutexception
org.apache.kafka.common.errors.timeoutexception: expiring 5 record(s) for test-0: 30040 ms has passe
报错内容:请求超时
原因分析:观察哪里抛出的 观察网络是否能通 如果可以通 可以考虑增加request.timeout.ms的值
5、recordtoolargeexception
warn async.defaulteventhandler: produce request with correlation id 92548048 failed due to [topicname,1]: org.apache.kafka.common.errors.recordtoolargeexception
报错内容:消息过大
原因分析:生产者端 消息处理不过来了 可以增加 request.timeout.ms 减少 batch.size
6、closing socket connection
closing socket connection to/127,0,0,1.(kafka.network.processor)
报错内容:连接关闭
原因分析:如果javaapi producer版本高,想在客户端consumer启动低版本验证,会不停的报错
无法识别客户端消息。
7、concurrentmodificationexception
java.util.concurrentmodificationexception: kafkaconsumer is not safe for multi-threaded access
报错内容:线程不安全
原因分析:kafka consumer是非线程安全的
8、networkexception
[kafka-producer-network-thread | producer-1] o.apache.kafka.common.network.selector : [producer clientid=producer-1] connection with / disconnected
报错内容:网络异常
原因分析:网络连接中断 检查broker的网络情况
9、illegal_generation
illegal_generation occurred while committing offsets for group
报错内容:无效的“代”
原因分析:consumer错过了 rebalance 原因是consumer花了大量时间处理数据。
需要适当减少 max.poll.records值 增加 max.poll.interval.ms 或者想办法增加消息处理的速度
未完待续~~~
更多实时计算,flink,kafka等相关技术博文,欢迎关注实时流式计算
上一篇: 猜猜我是谁
下一篇: 记录--linux下mysql数据库问题