kafka问题集(三)ISR缺失
仅个人实践所得,若是有误,欢迎指出。
一、场景
kafka集群中某一节点(N-10)的CPU利用率大于整个集群的平均水平,且达到报警值。使用top命令后台查看时发现是kafka服务导致CPU利用率高。在kafka界面查看topic,显示timeout ,使用以下命令查看集群中的topic发现consumer_offsets中有consumer_offsets-5分区的ISR仅剩一个,缺失两个。
二、分析
1)分析后台kafka日志,没有报错或者警告,INFO消息显示kafka不停的在deleting segement操作;
2)查看consumer_offsets topic中各个分区的offset,发现缺失ISR的consumer_offsets-5分区的offset值远大于其他分区;
3)查看consumer_offsets topic所在三个broker中对应的consumer_offsets-5分区,发现三个分区的数据时持续更新的;
三、可能的结论
若在分析中3)点,若分区数据不是同步更新,可以通过重启对应的结点解决。(该方案出自网上,不是我所遇的问题,仅记录,未验证);
重点是三个broker上对应分区的数据时相应持续更新的,consumer_offsets-5分区中的offset值远大于其他分区,说明该分区对应的消费者组的繁忙程度远大于其他组,通过查看kafka所有分区,发现有较多topic的分区集中在该节点(N-10)中,至此,可以推断出,有可能是集群的负载不均衡导致的。
对集群中分区进行重分布。