记一次KAFKA TroubleShooting

简介:

线上是同事写的flume-kafkaplugin来实现对kafka消费到其他终端的,不过最近遇到几个莫名的case.

现象:flume消费延迟,因为当时比较紧急,同事想把延迟的数据丢掉从新的点开始追,就清了offset,重启就开始消费新的地方了,不过我记得0.7.2kafka的默认autooffset.resetsmallest应该没用啊,后来才知道同事hard code的一些参数:

props.put("zk.sessiontimeout.ms","60000");

props.put("fetch.size",String.valueOf(Integer.parseInt((getBatchSize(context))) * 300 * 1024));

props.put("autocommit.enable","false");

props.put("queuedchunks.max","100000");

props.put("autooffset.reset","largest");

props.put("socket.buffersize","102400000");

props.put("socket.timeout.ms","60000");

怪不得设置了batchsize会报message too bigexception=.=

不过即使丢弃了消息还是没解决问题,我们又把offset修改了回去.主要是flume的消费能力是平时的一半,必须要找到影响这个的因素.

因为比较紧急,临时增加了一倍consumer“解决了”消费能力的问题.

后来发现,当时这个consumergroup连接的zk connect stringzk fd超过了ulimit所设置的,不过连接数才到3K而已,这是为什么呢?

查了一下issue list发现kafka 0.7.2依赖的zk 3.3.4KAFKA-318)有file descriptor泄漏的bugZOOKEEPER-1309(3.3.4 bug太多了,还有升级回滚问题1149)

后来同事测试了一下3.4.5基本上是兼容了,升级解决.

最后再插一个kafkabug,就是即使autocommit被关闭了,这个版本的kafkarebalance时还是会flush offset,也多亏这个BugKAKFA-919)了,否则不知道有多少重复数据了=.=

PS:不过线上使用的话还是把autocommit打开吧,可以将interval调大一点否则会造成不少的麻烦.不过打开这个还要注意另外一个Bug(KAFKA-601),ZK对于KAFKA还是很关键的,而下一篇就是和ZK相关了.



本文转自MIKE老毕 51CTO博客,原文链接:http://blog.51cto.com/boylook/1335673,如需转载请自行联系原作者


相关文章
|
19天前
|
消息中间件 Java Kafka
Kafka启动遇到ERROR Exiting Kafka due to fatal exception (kafka.Kafka$)
Kafka启动遇到ERROR Exiting Kafka due to fatal exception (kafka.Kafka$)
43 0
|
5月前
kafka-manager
kafka-manager
24 0
|
11月前
|
消息中间件 监控 Kafka
Apache Kafka-使用Kafak Tool 查看Kafka中的数据
Apache Kafka-使用Kafak Tool 查看Kafka中的数据
332 0
|
11月前
|
消息中间件 Java Kafka
Apache Kafka-CMAK(kafka manager)安装部署使用
Apache Kafka-CMAK(kafka manager)安装部署使用
305 0
|
消息中间件 JSON 大数据
Structured_Source_Kafka_回顾 | 学习笔记
快速学习 Structured_Source_Kafka_回顾
58 0
Structured_Source_Kafka_回顾 | 学习笔记
|
消息中间件 分布式计算 大数据
Structured_Source_Kafka_整合 | 学习笔记
快速学习 Structured_Source_Kafka_整合
73 0
Structured_Source_Kafka_整合 | 学习笔记
|
消息中间件 数据可视化 Kafka
Kafka - 可视化工具(Kafka Tool)快速入门(二)
Kafka - 可视化工具(Kafka Tool)快速入门(二)
440 0
Kafka - 可视化工具(Kafka Tool)快速入门(二)
|
消息中间件 数据可视化 Kafka
Kafka - 可视化工具(Kafka Tool)快速入门(一)
Kafka - 可视化工具(Kafka Tool)快速入门(一)
183 0
Kafka - 可视化工具(Kafka Tool)快速入门(一)
|
消息中间件 安全 Kafka
Kafka常见错误整理
Kafka常见错误整理
954 0
|
消息中间件 存储 Kafka
Kafka修炼日志(三):Streams简明使用教程
 Streams是Kafka 10版本新增的功能,用于实时处理存储与Kafka服务器的数据,并将处理后的结果推送至指定的Topic中,供后续使用者使用。
425 0
Kafka修炼日志(三):Streams简明使用教程