Kafka分区阻塞问题的分析和优化分析.docx
《Kafka分区阻塞问题的分析和优化分析.docx》由会员分享,可在线阅读,更多相关《Kafka分区阻塞问题的分析和优化分析.docx(10页珍藏版)》请在第一文库网上搜索。
1、Kafka分区阻塞问题的分析和优化分析一、问题描述某日由于Kafka生产环境一个节点出现坏盘,在下班后进行停机更换,更换完成后启动该节点Broker3,某项目组反馈其TopicXXX的第一个分区在十几分钟内无法生产和消费,报Not1eaderForPartition的错误,但是其他分区在该时间段内均可正常生产和消费,出现问题的分区优先级副本是在Broker3上。二、原因分析当天晚上唯一的变更就是Broker3的停机和拉起,而发生问题的分区优先级副本在Broker3上,在日志中我们发现发生问题的时间段内发生了多次1eader副本切换的日志,因此该问题原因定位在Broker拉起后副本重新选举造成的
2、问题。由于生产配置的参数auto.1eader,reba1ance,enab1e为true,Contro11er就会每五分钟检查一下集群不平衡的状态,如果Broker上非优先级副本占全1eader副本回切,回切的过程主要是Contro11er发起优先级副本选举,分区TopicXXX-I的1eader副本由Broker8变成Broker3(修改ZK信息),然后Contro11er告知所有Broker副本变成3,在Broker收到该请求后更新本地的元数据缓存。回切过程中客户端被阻塞,会报类似Not1eaderForPartition的异常,但是按正常情况,该回切应该1分钟内可以完成,不应该会阻塞客
3、户端15分钟这么久。接下来我们分析下当天晚上的日志:Broker3上缓存的步Contro11erTopicXXX-I1eader(以ZK为元数据(标红部分时间点骤日志准)表示和ZK上不一致)117:32:46Broker3Broker3加1eaderEPoCh=426217:57:541eaderEpoch=4261eader=8回1eader=81eaderEpoch=426318:01:18Broker31eaderEpoch=4271eader=81eader=8但是Broker3其实Broker3加没有收到这个请求418:01:291eaderEpoch=4271eader=8回1ea
4、derEPoCh=4261eader=8步骤时间点Contro11erTopicXXX-I1eader(以ZK为元数据(标红部分表示和ZK上不一致)日志准)1eaderEpoch-4281eader-30志里显示comp1etedpreferred1eaderEpoch=426518:02:00副本回切rep1ica1eadere1ection.New1eaderis3.但是Broker3其实没有收到这个请求1eader=81eaderEpoch=4266718:02:1818:02:35Broker3Broker3加回1eaderEpoch=4291eader=81eaderEpoch=42
5、91eader-81eaderEpoch=4301eader=3同1eader-81eaderEpoch-4261eader-81eaderEpoch=426818:07:00副本回切上次18:02一样,Broker3其实没收到该请求1eader=81eaderEpoch=426918:15:32Broker31eaderEpoch=4311eader=81eader=8Broker3加1eaderEpoch-4261018:15:331eaderEpoch=4321eader-81eader-8步时间点骤Contro11erTopicXXX-I1eader(以ZK为元数据(标红部分日志准)表
6、示和ZK上不一致)1eaderEpoch-4331eader-3同1eaderEPoCh=4261118:17:00副本回切前,Broker3其实没收到该请求1eader=81eaderEpoch=4261218:27:28Broker31eaderEpoch=4341eader=81eader=8Broker3加1eaderEPOCh=4261318:27:291eaderEpoch=4341eader=8回1eader=81eaderEpoch=4261418:32:00副本回切1eaderEPOCh=4351eader-31eader=8Broker3刚接到1eaderEpoch=434
7、1eader=8的更新请1518:38:39无变化1eaderEpoch=4351eader=3求1eaderEpoch=4341eader=8根据上述日志,我们发现,Broker3在拉起后,发生了4次失联(与ZK的会话超时),同时叠加3次副本回切,这期间除Broker3外,其他Broker均能正常收到Contro11er发出的1eaderAndIsr和UpdateMetadataRequest,而Broker3在18:02之后没有收到1eaderEPOCh从427到433的更新请求,一直到18:38分才收到1eaderEPOCh=434的信息,在18:54分收到1eaderEpoch=435
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Kafka 分区 阻塞 问题 分析 优化