Kafka集群第6个Broker启动后引发延迟及日志异常求助
Kafka 6节点集群第6个Broker启动延迟排查
已知环境与现象
- Kafka版本:3.5.1(Scala 2.12),ZooKeeper版本:3.8.2
- 集群共6个Broker,5个运行正常,启动第6个时出现延迟
- 异常Broker(ID 4)关键日志:
[2024-08-20 08:20:07,242] INFO [ReplicaFetcherManager on broker 4] Removed fetcher for partitions Set(jeno-0, jeno_jeno-http-0) (kafka.server.ReplicaFetcherManager) [2024-08-20 08:20:07,255] INFO [ReplicaFetcherThread-0-1]: Shutting down (kafka.server.ReplicaFetcherThread) [2024-08-20 08:20:07,256] INFO [ReplicaFetcherThread-0-1]: Stopped (kafka.server.ReplicaFetcherThread) [2024-08-20 08:20:07,256] INFO [ReplicaFetcherThread-0-1]: Shutdown completed (kafka.server.ReplicaFetcherThread)
- 已排查项:ZK/Kafka全集群重启无效;
/var/kafka目录仅使用1%,无磁盘空间问题 - 主题
jeno详情:
Topic: jeno TopicId: zUBXkX0AQgijNqN0L-KuWg PartitionCount: 2 ReplicationFactor: 3 Configs: segment.bytes=1073741824,max.message.bytes=10485880 Topic: jeno Partition: 0 Leader: 4 Replicas: 4,1,2 Isr: 1,2,4 Topic: jeno Partition: 1 Leader: 1 Replicas: 1,2,3 Isr: 1,2,3
排查方向与建议
1. 验证jeno_jeno-http主题的副本配置
日志中出现了jeno_jeno-http-0分区,但未提供该主题的完整信息,先确认:
- 执行命令查看该主题的分区与副本分布:
kafka-topics.sh --describe --topic jeno_jeno-http --bootstrap-server <集群Bootstrap地址>
- 检查第6个Broker是否是该主题某个分区的副本,以及该分区的ISR列表状态,确认是否存在副本同步阻塞。
2. 检查第6个Broker的网络连通性
启动延迟大概率和网络交互阻塞有关:
- 测试第6个Broker与其他5个Broker的业务端口(默认9092)连通性,排除防火墙/安全组拦截
- 核对第6个Broker的
server.properties中listeners、advertised.listeners配置,确保地址格式与集群其他节点一致 - 查看节点网卡流量、TCP连接状态,排查是否存在丢包、连接超时情况
3. 排查第6个Broker的磁盘IO性能
磁盘空间充足不代表IO性能正常,IO瓶颈会导致启动时元数据加载、副本同步延迟:
- 在第6个Broker节点执行磁盘IO测试,对比正常节点的速度:
dd if=/dev/zero of=/var/kafka/test_io bs=1G count=1 oflag=direct
- 用
iostat -x 1查看磁盘IO等待时间,确认是否存在高IOwait情况
4. 检查ZK中的Broker元数据与未完成任务
ZK元数据异常或未完成的后台任务会阻塞Broker启动:
- 登录ZK节点,通过
zkCli.sh查看Broker元数据:
ls /brokers/ids get /brokers/ids/<第6个Broker的ID>
- 确认第6个Broker的元数据是否完整,与正常Broker格式一致
- 检查
/admin/reassign_partitions节点,确认是否存在未完成的分区重分配任务
5. 深度分析第6个Broker的启动日志
除已提供的日志,重点排查启动过程中的异常信息:
- 搜索日志中的
WARN、ERROR级别内容,尤其是ZK连接、副本初始化、磁盘操作相关的报错 - 定位启动时元数据加载、分区同步阶段的耗时节点,找到具体阻塞环节
6. 核对Kafka版本的已知BUG
Kafka 3.5.1存在部分副本同步相关的已知问题,可排查:
- 参考官方Release Notes,确认是否存在与
ReplicaFetcherManager移除分区相关的BUG,以及对应的修复方案
内容的提问来源于stack exchange,提问作者user26910231
相关产品推荐
相关产品推荐

