【问题标题】:Where does zookeeper store kafka cluster and related information?zookeeper在哪里存放kafka集群及相关信息?
【发布时间】:2020-10-25 13:23:21
【问题描述】:

我所说的集群信息是指像这样的信息

  1. 订阅的消费者/消费者组
  2. 读取和提交的偏移量
  3. 分区的领导者和追随者
  4. 服务器上的主题 等

zookeeper 是否将此信息保存在其自己的数据库中(尽管迄今为止我从未听说过 zookeeper 拥有任何自己的数据库)或者它将此信息存储在某些主题等的 Kafka 集群中?

编辑:以及后续问题: How does Zookeeper retrive the consumer offsets from __consumer_offsets topic?

【问题讨论】:

  • ZooKeeper 是您所指的数据库。将 ZK 视为分布式文件系统

标签: apache-kafka apache-zookeeper kafka-consumer-api kafka-topic


【解决方案1】:

ZooKeeper 数据模型 ZooKeeper 有一个分层的命名空间,很像一个分布式文件系统。唯一的区别是命名空间中的每个节点都可以有与其关联的数据以及子节点。这就像拥有一个允许文件也成为目录的文件系统。节点的路径始终表示为规范的、绝对的、斜线分隔的路径;没有相对参考。

所以没有数据库。

偏移量保存在kafka中,而不是zookeeper中,在这个主题中:__consumer_offsets

在 zookeeper 节点中:

提供活跃经纪人列表

ls /brokers/ids

给出主题列表

ls /brokers/topics

提供代理 id '0' 的更详细信息

获取 /brokers/ids/0

您可以在此处阅读有关 zookeeper 中 kafka 数据结构的更多信息:Kafka datastructures zookeeper

有一个 KIP 可以一起移除 zookeeper:KIP Remove zookeeper

【讨论】:

  • 嗯,阿曼多……第一件事……托尼·斯塔克……看起来很像你。
  • 1) 这个 zookeeper 数据模型在 zookeeper 机器上的位置,我如何自定义这个位置
  • 2) 当我列出主题或代理或分区时,kafka 是否必须从 zookeeper 中提取此信息以显示结果。 (我问这个仅 bcoz 的动物园管理员似乎通过其分布式数据模型跟踪此信息)。
  • 看看这个jaceklaskowski.gitbooks.io/apache-kafka/…,顺便说一句,是的,除了内部缓存机制。
猜你喜欢
  • 2017-11-20
  • 1970-01-01
  • 2019-04-12
  • 1970-01-01
  • 1970-01-01
  • 2019-02-27
  • 1970-01-01
  • 1970-01-01
  • 2016-01-25
相关资源
最近更新 更多