首页/数据/数据工程与 ETL 速查/kafka-dump-log.sh 读取日志段
Kafka64 条

kafka-dump-log.sh 读取日志段

直接解析磁盘上的日志段文件查看消息内容、位移与时间戳,用于验证消息是否真正落盘、核对压缩前后数据、排查消费与落盘不一致。

用途离线读日志段,核对消息内容
常用--files、--print-data-log、--deep-iteration
位置Broker 的 log.dir 下 <topic>-<partition>/ 目录

读取日志段

读取日志段
ls /data/kafka/orders-0/ | head
kafka-dump-log.sh --files /data/kafka/orders-0/00000000000000000000.log \
  --print-data-log | head -20
# 包含压缩批次时用深度遍历
kafka-dump-log.sh --files /data/kafka/orders-0/00000000000000000000.log \
  --deep-iteration --print-data-log | head -20
在副本所在机器上执行即可,无需停服;对正在写入的段读取可能只看到已刷盘部分。

易错点

  • 把 dump 结果当全量数据做统计不可靠:段文件只覆盖一部分区间
  • 文件权限不足会读取失败,注意用 broker 运行用户或只读复制文件

数据来源与参考

  • Apache Kafka 官方文档:kafka-dump-log.sh
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌