欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > 能源 > 【Kafka基础】监控与维护:分区健康检查,确保数据高可用

【Kafka基础】监控与维护:分区健康检查,确保数据高可用

2025/9/14 15:21:06 来源:https://blog.csdn.net/qq_43715111/article/details/147010456  浏览:    关键词:【Kafka基础】监控与维护:分区健康检查,确保数据高可用

1 基础健康检查命令

1.1 查看未同步副本

/export/home/kafka_zk/kafka_2.13-2.7.1/bin/kafka-topics.sh --describe \--bootstrap-server 192.168.10.33:9092 \--under-replicated-partitions
参数说明
  • --under-replicated-partitions:显示所有副本未完全同步的分区
  • 输出解读:结果会显示哪些分区的副本落后于leader,通常表示网络问题、broker故障或磁盘I/O瓶颈

1.2 检查无Leader分区

/export/home/kafka_zk/kafka_2.13-2.7.1/bin/kafka-topics.sh --describe \--bootstrap-server 192.168.10.33:9092 \--unavailable-partitions
参数说明
  • --unavailable-partitions:显示当前没有活跃leader的分区
  • 严重程度:这种情况会导致客户端无法读写该分区,属于严重故障

2 高级健康检查命令

2.1 查看分区ISR变化历史

/export/home/kafka_zk/kafka_2.13-2.7.1/bin/kafka-topics.sh --describe \--bootstrap-server 192.168.10.33:9092 \--topic your-topic \--unavailable-partitions \--under-replicated-partitions \--verify
参数说明:
  • --verify:显示更详细的分区状态验证信息

2.2 检查分区分布均衡性

/export/home/kafka_zk/kafka_2.13-2.7.1/bin/kafka-topics.sh --describe \--bootstrap-server 192.168.10.33:9092 \| awk '/Partition:/ {print $2,$4}' \| sort | uniq -c \| sort -nr

2.3 检查消息堆积情况

/export/home/kafka_zk/kafka_2.13-2.7.1/bin/kafka-run-class.sh kafka.tools.GetOffsetShell \--broker-list 192.168.10.33:9092 \--topic testtopic \--time -1 \| awk -F ":" '{sum += $3} END {print sum}'

3 故障排查标准化流程

3.1 检查Broker状态

# 查看broker存活状态
/export/home/kafka_zk/kafka_2.13-2.7.1/bin/kafka-broker-api-versions.sh --bootstrap-server 192.168.10.33:9092 # 检查controller broker 
/export/home/kafka_zk/kafka_2.13-2.7.1/bin/zookeeper-shell.sh 192.168.10.33:2181 get /controller

3.2 验证网络连接

# 测试 broker 间连通性
for broker in 192.168.10.33:9092 192.168.10.34:9092 192.168.10.35:9092; doecho "Testing $broker..."telnet ${broker%:*} ${broker#*:} <<EOF
EOF
done

3.3 查看日志文件

# 查看 Kafka 服务日志
tail -n 100 /export/home/kafka_zk/kafka_2.13-2.7.1/logs/server.log | grep -E "ERROR|WARN"# 查看 controller 日志
grep "Controller" /export/home/kafka_zk/kafka_2.13-2.7.1/logs/controller.log | tail -n 50

3.4 检查系统资源

# 检查磁盘空间 
df -h# 检查磁盘 I/O 
iostat -dx 2 5 # 检查内存使用 
free -h

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词