暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Kafka日志查看

Alleria Windrunner 2020-12-15
9176
上一篇我们介绍了Kafka的群集环境搭建,本篇我们一起来看一下Kafka的日志。这里说的日志不是 Kafka 的启动日志,启动日志在 Kafka 安装目录下的 logs/server.log 中。消息在磁盘上都是以日志的形式保存的。我们这里说的日志是存放在/tmp/kafka_logs 目录中的消息日志,即 partition 与 segment。


查看分区与备份

首先我们查看一下在搭建集群环境时的主题和分区,之前我们创建的test主题是1个分区1个备份。

3个分区1个备份

再次创建一个主题,命名为 one,创建三个分区,但仍为一个备份。依次查看三台broker,可以看到每台 broker 中都有一个 one 主题的分区。


3 个分区3个备份

再次创建一个主题,命名为 two,创建三个分区,三个备份。依次查看三台 broker,可以看到每台 broker 中都有三份 two 主题的分区。


查看分区与备份在 zk 中的信息

另外一方面我们还可以查看分区与备份在zk中的信息。在/brokers/ids目录下存放的是 kafka 集群中各个主机的 broker-id 列表。每个id的数据内容为当前主机的信息。在/brokers/topics下存放的是主体信息,比如/brokers/topics/city/partitions 中存放的是 city 主题下所包含的 partition。这里的 0、1、 2,在/tmp/kafka-logs 目录中即为 city-0,city-1,city-2。


查看段segment

在Kafka中segment 是一个逻辑概念,其由两类物理文件组成,分别为“.index”文件和“.log”文 件。“.log”文件中存放的是消息,而“.index”文件中存放的是“.log”文件中消息的索引。
对于 segment 中的 log 文件,不能直接通过 cat 命令查找其内容,而是需要通过 kafka自带的一个工具查看。
    bin/kafka-run-class.sh kafka.tools.DumpLogSegments --files
    /tmp/kafka-logs/test-0/0000000000000000000.log --print-data-log
    一个用户的一个主题会被提交到一个__consumer_offsets 分区中。使用主题字符串的 hash 值与 50 取模,结果即为分区索引。
    文章转载自Alleria Windrunner,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

    评论