记一次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,如需转载请自行联系原作者


相关文章
|
7月前
|
消息中间件 Java Kafka
Kafka启动遇到ERROR Exiting Kafka due to fatal exception (kafka.Kafka$)
Kafka启动遇到ERROR Exiting Kafka due to fatal exception (kafka.Kafka$)
832 0
|
7月前
|
消息中间件 容灾 Kafka
【Kafka】Kafka 中的 Geo-Replication 是什么?
【4月更文挑战第11天】【Kafka】Kafka 中的 Geo-Replication 是什么?
|
7月前
|
消息中间件 Kafka Linux
kafka安装
kafka安装
58 0
|
消息中间件 Kafka Linux
kafka3.0创建topic出现zookeeper is not a recognized option
kafka3.0创建topic出现zookeeper is not a recognized option
250 0
kafka-manager
kafka-manager
51 0
|
消息中间件 存储 安全
Kafka 从安装到应用
Kafka 从安装到应用
242 0
Kafka 从安装到应用
|
消息中间件 监控 Kafka
Apache Kafka-使用Kafak Tool 查看Kafka中的数据
Apache Kafka-使用Kafak Tool 查看Kafka中的数据
413 0
|
消息中间件 Java Kafka
Apache Kafka-CMAK(kafka manager)安装部署使用
Apache Kafka-CMAK(kafka manager)安装部署使用
419 0
|
消息中间件 JSON 大数据
Structured_Source_Kafka_回顾 | 学习笔记
快速学习 Structured_Source_Kafka_回顾
Structured_Source_Kafka_回顾 | 学习笔记
|
消息中间件 分布式计算 大数据
Structured_Source_Kafka_整合 | 学习笔记
快速学习 Structured_Source_Kafka_整合
Structured_Source_Kafka_整合 | 学习笔记