Skip to main content
 首页 » 编程设计

java之Kafka 与 Zookeeper 的关系

2024年06月20日69emanlee

据我所知,zookeeper 存储了关于kafka 的元数据,主要处理领导选举、分区细节等。

但是当我删除/tmp/kafka-logs目录,并再次重启kafka时,它又在/tmp/kafka-logs目录中获取了数据。

有没有可能zookeeper也持有数据,传给kafka同步呢?

我正在使用当前最新版本的 kafka,它是 1.0.1

请您参考如下方法:

Zookeeper 用于存储有关主题、分区等信息,但不存储其自身的记录/消息。因此,当您删除 kafka-logs 目录并重新启动 Kafka 时,它会恢复元数据 并重新创建主题、分区等。但是无法从 Zookeeper 恢复记录。

如果您使用复制并且只对单个代理执行此操作,则应从同一分区的其他副本中恢复记录。但是如果没有复制(或者当您为所有代理删除它时),记录/消息将会丢失。