讲师中心 微信公众号
AI工具推荐 视频效率加速

Kafka怎么排查Topic分区副本处于UnderReplicatedPartitions未完全同步

冬辰酱_4026

冬辰酱_4026

发布时间:2026-10-08 07:16:48

|

881人浏览过

|

来源于php中文网

原创

确认Topic分区是否处于UnderReplicated状态,需执行kafka-topics.sh --describe --topic <topic>命令,检查各分区Isr列表是否少于ReplicationFactor;若Isr数量不足(如副本数为3而Isr仅[1,2]),即为UnderReplicated分区。

kafka怎么排查topic分区副本处于underreplicatedpartitions未完全同步

怎么确认Topic分区是否真的处于UnderReplicatedPartitions状态

直接查 kafka-topics.sh 或 kafka-broker-api 返回的 UnderReplicatedPartitions 数值只是个汇总指标,它不告诉你具体是哪个分区、哪台Broker掉队了。真正要定位问题,得看每个分区的 ISR(In-Sync Replicas)列表是否完整。

执行以下命令获取指定Topic所有分区的详细副本状态:

kafka-topics.sh --bootstrap-server localhost:9092 --describe --topic <your-topic-name>

重点关注输出中 Isr 列——如果某分区的 Isr 数量少于 ReplicationFactor(比如副本数设为3,但 Isr 只有 [1,2]),这个分区就属于 UnderReplicated。

  • Leader 字段显示当前主副本所在Broker ID,若该Broker频繁切换或不可达,会拖累ISR更新
  • Replicas 是静态配置的副本集合,Isr 是动态维护的“已同步”子集,二者不一致才是问题信号
  • 注意区分 OfflinePartitionsCount(完全离线)和 UnderReplicatedPartitions(还在运行但同步滞后)

为什么ISR收缩但没恢复:常见底层原因

ISR 不是靠心跳维持的,而是依赖 follower 副本能否在 replica.lag.time.max.ms(默认10秒)内追上 leader 的 LEO(Log End Offset)。超时即被踢出 ISR,而恢复需要 follower 主动拉取并完成追赶。

典型卡点包括:

  • replica.fetch.wait.max.ms 过小(如设为100ms),导致 follower 频繁空轮询,无法积攒批量数据,吞吐下降,追赶变慢
  • Broker 磁盘 I/O 压力大(disk IO wait > 20%),follower 写日志延迟高,LEO 追不上 leader
  • 网络分区或跨机房带宽不足,follower fetch 请求 RTT 超过 replica.lag.time.max.ms
  • Leader 所在 Broker CPU 持续 >90%,影响 replica fetch 响应速度,间接导致 follower 被踢出 ISR

如何快速验证某个Broker是否拖慢了ISR同步

不用等自动恢复,直接查该Broker上所有 follower 副本的同步延迟:

kafka-run-class.sh kafka.tools.ReplicaVerificationTool --broker-list localhost:9092 --topic-white-list ".*" --max-messages 1

更轻量的方式是查 JMX 指标(需开启 JMX):

  • kafka.server:type=FetcherLagMetrics,name=ConsumerLag,clientId=replica-fetcher-<broker-id>,topic=<topic>,partition=<id> —— lag 值持续 >0 且增长,说明该 follower 落后
  • kafka.server:type=ReplicaManager,name=IsrShrinksPerSec 和 IsrExpandsPerSec 对比:若 shrink 高但 expand 几乎为0,说明 follower 卡死,无法重新加入 ISR
  • 检查 kafka.network:type=RequestMetrics,name=RequestsPerSec,request=FETCH 在 follower Broker 上是否显著低于 leader

注意:JMX 中的 ConsumerLag 是 follower 当前 offset 与 leader LEO 的差值,不是 consumer group 的 lag。

调整参数前必须核对的三个前提

别一上来就调大 replica.lag.time.max.ms,这只会掩盖问题,而不是解决同步瓶颈:

  • 确认磁盘没有满(df -h /var/log/kafka)、inode 未耗尽(df -i),否则 follower 写入失败,ISR 永远无法恢复
  • 检查 log.dirs 配置路径下是否有大量 .deleted 或 .cleaning 临时文件堆积,可能阻塞日志滚动
  • 确认 num.replica.fetchers(默认1)是否足够:当单Broker承载数百个 follower 分区时,一个 fetcher 线程容易成为瓶颈,可适当调至2或3

真正难处理的是跨机房同步场景——即使网络 RTT 稳定在80ms,只要 replica.lag.time.max.ms 小于 2×RTT + 处理开销,就可能误踢。这时候得结合 replica.fetch.response.max.bytes 和批量大小一起调优,而不是单独拉长超时。

相关文章

Kafka Eagle可视化工具
Kafka Eagle可视化工具

Kafka Eagle是一款结合了目前大数据Kafka监控工具的特点,重新研发的一块开源免费的Kafka集群优秀的监控工具。它可以非常方便的监控生产环境中的offset、lag变化、partition分布、owner等,有需要的小伙伴快来保存下载体验吧!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
二狗PPT
二狗PPT Hot

一款AI演示文稿工具,主要用于专为中式职场打造的AI PPT生成工具,适合需要提升相关任务效率的用户。

咔片AIPPT

一款在线AI演示文稿制作工具,可根据主题和内容需求辅助生成PPT结构与页面,提高演示材料制作效率。

AionClaw
AionClaw Hot

AionClaw是一款面向办公、创作和编程任务的AI桌面智能体。

UP简历
UP简历 Hot

一款AI办公效率工具,主要用于基于AI技术的免费在线简历制作工具,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

超级简历WonderCV

一款AI办公效率工具,主要用于免费求职简历模版下载制作,应届生职场人必备简历制作神器,适合需要提升相关任务效率的用户。

VibeKnow
VibeKnow Hot

一款AI视频创作工具,主要用于全球首个AI知识视频创作平台,文档、文章、网页,一键生成视频,适合需要提升相关任务效率的用户。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

相关专题

更多
kafka消费者组有什么作用
kafka消费者组有什么作用

kafka消费者组的作用:1、负载均衡;2、容错性;3、广播模式;4、灵活性;5、自动故障转移和领导者选举;6、动态扩展性;7、顺序保证;8、数据压缩;9、事务性支持。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2486

2024.01.12

kafka消费组的作用是什么
kafka消费组的作用是什么

kafka消费组的作用:1、负载均衡;2、容错性;3、灵活性;4、高可用性;5、扩展性;6、顺序保证;7、数据压缩;8、事务性支持。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

590

2024.02.23

rabbitmq和kafka有什么区别
rabbitmq和kafka有什么区别

rabbitmq和kafka的区别:1、语言与平台;2、消息传递模型;3、可靠性;4、性能与吞吐量;5、集群与负载均衡;6、消费模型;7、用途与场景;8、社区与生态系统;9、监控与管理;10、其他特性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

564

2024.02.23

Java 流式处理与 Apache Kafka 实战
Java 流式处理与 Apache Kafka 实战

本专题专注讲解 Java 在流式数据处理与消息队列系统中的应用,系统讲解 Apache Kafka 的基础概念、生产者与消费者模型、Kafka Streams 与 KSQL 流式处理框架、实时数据分析与监控,结合实际业务场景,帮助开发者构建 高吞吐量、低延迟的实时数据流管道,实现高效的数据流转与处理。

610

2026.02.04

FrankenPHP集成Laravel详细教程
FrankenPHP集成Laravel详细教程

本专题提供FrankenPHP集成Laravel的详细配置指南,全面解析运行原理、开发环境搭建、Caddyfile配置、Octane工作模式、数据库连接、队列任务、定时任务和生产环境优化,解决部署过程中常见的报错与兼容性问题。

0

2026.10.08

LLVM自定义Pass怎么写
LLVM自定义Pass怎么写

本专题聚焦LLVM自定义Pass开发,整理Pass类结构、run()方法、PreservedAnalyses、CMake构建、插件注册、-load-pass-plugin加载和测试用例编写流程。

120

2026.09.30

LLVM RISC-V参数配置教程
LLVM RISC-V参数配置教程

本专题介绍LLVM对RISC-V基础ISA和扩展的支持方式,涵盖RV32、RV64、标准扩展、实验性扩展、厂商扩展、-menable-experimental-extensions和版本差异。

100

2026.09.30

LLVM IR中间表示入门指南
LLVM IR中间表示入门指南

本专题整理LLVM IR的核心概念,包括中间表示作用、模块结构、函数、基本块、SSA形式、类型系统和常见语法,帮助新手理解LLVM编译流程中的关键层。

80

2026.09.30

PDF转图片方法
PDF转图片方法

需要把 PDF 页面用于上传、预览、分享或图片归档时,PDF 转图片方法专题整理 JPG/PNG 格式选择、逐页导出、清晰度设置、批量下载和结果检查等流程,帮助用户稳定完成 PDF 图片化处理。

80

2026.09.30

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
简单聊聊mysql8与网络通信
简单聊聊mysql8与网络通信

共1课时 | 0.1万人学习

SQL优化与排查(MySQL版)
SQL优化与排查(MySQL版)

共26课时 | 3.2万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn