线上问题:
Kafka:
客户说Broker不时会发生些错误日志,也看到topic的tps下降很快很明显,
日志看是ISR在不断的伸缩,
监控发现发生问题时的CPU、IO、磁盘都没有瓶颈
再查看堆栈信息:可看到关键信息:
有锁等待!!!
说明Kafka Broker在这三种情况下都需要申请leaderIsrUpdateLock锁!
消息写入时需更新Kafka高水位线
处理消息请求时
ISR发生扩张与伸缩
方案
ISR的频繁扩张与收缩,直观的原因是:follower副本从Leader副本复制数据跟不上
调整了以下2参数解决:
replica.lag.time.max.ms从默认10s,调整为20s
num.replica.fetchers从默认值1调整为5
===============