首页 > 解决方案 > kafka 在哪​​里存储 zookeeper 上的元数据?(哪条路?)

问题描述

我们有带有 3 个 Zookeeper 服务器和 3 个 kafka 机器的 ambari 集群

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

标签: apache-kafkaapache-zookeeper

解决方案


这取决于哪个元数据!

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

  • /brokers:这包含活跃的代理以及主题配置、分配和当前 ISR
  • /controller:这个 ZNode 归 Kafka 集群中的当前控制器所有
  • /admin:这包含删除主题请求
  • /config:这包含代理、配额的覆盖配置

  • 而这样的例子不胜枚举 ...

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

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

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


推荐阅读