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 或者想办法增加消息处理的速度。

欢迎点赞+收藏+转发朋友圈素质三连

****文章不错?点个【在看】吧! 👇

本文分享自微信公众号 - 大数据技术与架构(import_bigdata)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )