kafka 在哪​​里存储主题的分区?

Where kafka stores partitions for the topics?

我在 linux 服务器上安装了 kafka。我用几个分区定义了一个主题。我知道每个分区都映射到磁盘上的一个物理文件,但我不知道它在哪里。
分区文件保存在哪里?

在您的 config/server.properties 中,您会找到关于 "Log Basics" 的部分。 属性 log.dirs 定义了您的 logs/partitions 在磁盘上的存储位置。

默认情况下 Linux 它存储在 /tmp/kafka-logs。如果您将导航到此文件夹,您将看到如下内容:

  • 恢复点偏移检查点
  • 复制偏移检查点
  • 主题-0
  • msg-0
  • msg-1

这意味着您有两个主题(topic 有 1 个分区,msg 有 2 个分区)。

正如 Ludd 所指出的,您可以通过查找 log.dirs.

找到 config/server.properties 文件中的位置

尝试运行这个命令

bin/kafka-topics.sh --zookeeper localhost:2181 --describe --topic test

你会得到输出

Topic:test  Partition: 0    Leader: 1   Replicas: 1,2,0 Isr: 1,2,0

现在尝试去 \config file

cat server.properties

并搜索 broker_id

如果 broker_id 与领导编号匹配,则主题分区存储在该代理中