kafka 在哪​​里存储 zookeeper 上的元数据? (哪条路?)

where kafka store the meta data on zookeeper ? ( which path ? )

我们有 ambari 集群,其中有 3 个 zookeeper 服务器和 3 个 kafka 机器

hadoop 版本 (HDP - 2.6.4)

kafka 在哪​​里存储 zookeeper 上的元数据? (哪条路?)

我不确定,也许数据存储在这里?

 ls -ltr /data/var/hadoop/zookeeper/version-2
total 5859168
-rw-r--r-- 1 zookeeper hadoop 199306787 Jan 27 00:02 snapshot.4a00023317
-rw-r--r-- 1 zookeeper hadoop 199274273 Jan 27 00:03 snapshot.4a0002332b
-rw-r--r-- 1 zookeeper hadoop 199278370 Jan 27 00:05 snapshot.4a00023349
-rw-r--r-- 1 zookeeper hadoop 193934228 Jan 29 00:01 snapshot.4a0002ade3
-rw-r--r-- 1 zookeeper hadoop 193934228 Jan 29 00:03 snapshot.4a0002adf6
-rw-r--r-- 1 zookeeper hadoop 188207547 Jan 31 00:00 snapshot.4a00033393
-rw-r--r-- 1 zookeeper hadoop  67108880 Feb 17 15:08 log.4b0001e57a
-rw-r--r-- 1 zookeeper hadoop 189085214 Feb 17 15:08 snapshot.4b00046dc8
-rw-r--r-- 1 zookeeper hadoop  67108880 Feb 19 20:56 log.4b00046dca
-rw-r--r-- 1 zookeeper hadoop 190336796 Feb 19 20:56 snapshot.4b0005659b
-rw-r--r-- 1 zookeeper hadoop  67108880 Feb 22 01:30 log.4b0005659d
-rw-r--r-- 1 zookeeper hadoop 190348010 Feb 22 01:30 snapshot.4b000643

这取决于哪个元数据!

默认情况下,Kafka 在 zookeeper 中使用了多个路径:

  • /brokers:这包含活动代理以及主题配置、分配和当前 ISR
  • /controller: 这个ZNode属于Kafka集群中的当前controller
  • /admin:这包含删除主题请求
  • /config:这包含代理的覆盖配置,配额

  • 列表还在继续......

Wiki 有一个关于 ZK 数据结构的页面,但它已经过时并且缺少很多条目:https://cwiki.apache.org/confluence/display/KAFKA/Kafka+data+structures+in+Zookeeper

另一件值得注意的事情是,默认情况下,Kafka 将在 / 下创建所有这些路径,但您可以让 Kafka 使用 "chroot" 和 zookeeper.connect。例如,如果将其设置为 localhost:2181/some_path,则所有路径都将位于 /some_path 下:/some_path/brokers/some_path/controller、等等

最后 Zookeeper 将所有这些数据保存到磁盘上的 log 文件中。路径由 zookeeper.properties 中的 dataDir 设置指定。默认情况下,Kafka 是 /tmp/zookeeper.