首页/数据/数据工程与 ETL 速查/副本滞后与离线分区处理
Kafka64 条

副本滞后与离线分区处理

UnderReplicatedPartitions 表示有副本落后,UnavailablePartitions 表示分区完全没有可用 Leader;两者处理顺序都是先恢复 Broker,再评估重分配,最后才考虑 unclean 选举。

定位命令

定位命令
kafka-topics.sh --bootstrap-server localhost:9092 --describe --under-replicated-partitions
kafka-topics.sh --bootstrap-server localhost:9092 --describe --unavailable-partitions
# 对单个 broker 看运行与磁盘状态
systemctl status kafka
df -h /data/kafka
  • 1. 掉线 Broker:优先拉起进程并观察 ISR 自愈
  • 2. 磁盘/网络异常:修复后副本会自动追平
  • 3. 长期不恢复:用 reassign 把副本迁到健康节点
  • 4. 全部副本不可用且业务可接受丢数据:才用 UNCLEAN 选举
unclean 选举会丢未同步数据;执行前必须确认业务后果并留记录。

易错点

  • 副本恢复慢时先查网络带宽与磁盘 IO,盲目重启 Broker 会打断追平过程
  • URP 长时间存在会影响 acks=all 的写入成功率,不能长期放任

数据来源与参考

  • Apache Kafka 官方文档:Replication 与分区可用性
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌