【问题标题】:Is Kafka topic linked with zookeeper and If zookeeper changed will topic disappeareKafka 主题是否与 zookeeper 链接,如果 zookeeper 更改将主题消失
【发布时间】:2019-08-11 16:32:24
【问题描述】:

我正在与 Kafka 合作。我下载了zookeeper,解压并启动它。 然后我下载了Kafka,解压压缩文件并启动Kafka。一切运作良好。我创建了几个主题,并且能够发送和接收消息。之后我停止了 KafkaZookeeper。然后我读到 Kafka 本身提供了 Zookeeper。所以我启动了 Kafka 提供的 Zookeeper。但是它的数据目录不同,然后我从相同的配置文件和相同的数据目录位置启动 Kafka。然而,在启动 Kafka 后,我找不到我创建的主题。

我只是想知道,这是否意味着关于主题的元数据由 Zookeeper 维护。我搜索了 Kafka 文档,但是,我找不到任何详细信息。 https://kafka.apache.org/documentation/

【问题讨论】:

    标签: apache-kafka apache-zookeeper


    【解决方案1】:

    查看 confluent 提供的 this 文档。据此Apache Kafka® uses ZooKeeper to store persistent cluster metadata and is a critical component of the Confluent Platform deployment. For example, if you lost the Kafka data in ZooKeeper, the mapping of replicas to Brokers and topic configurations would be lost as well, making your Kafka cluster no longer functional and potentially resulting in total data loss.

    所以,你的问题的答案是,是的,zookeeper 的目的是存储有关 kafka 代理、主题等的相关元数据。

    另外,由于您刚刚开始研究 Kafka 和 Zookeeper,我想提一下。默认情况下,Kafka 将其数据存储在一个临时位置,该位置会在系统重新启动时被删除,因此您也应该更改它。

    【讨论】:

    • 感谢您的信息。是的,我在开始之前已经更改了数据文件夹。
    【解决方案2】:

    你的问题标签的答案是肯定的,

    1) 最初你从 zip 文件启动了独立的 zookeeper,然后你停止了 zookeeper,这意味着创建的主题存储在 zookeeper standalone 中丢失了。现在你持久化与 Kafka 相关的集群元数据丢了。

    2)第二次从Kafka自带的包中启动zookeeper,现在新的zookeeper实例没有你之前创建的topic信息,所以需要新建。

    3) 假设情况 1:如果您关闭终端并从独立模式重新启动 Zookeeper,则无需再次创建主题,但如果您从独立模式停止 Zookeeper 服务器,则主题将丢失。

    简单来说:您创建了两个独立的 zookeeper 实例,它们之间不会共享主题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-01-07
      • 1970-01-01
      • 2020-06-29
      • 2015-08-10
      • 2017-11-08
      • 2019-12-20
      • 2018-05-24
      相关资源
      最近更新 更多