据我所知,zookeeper 存储了关于kafka 的元数据,主要处理领导选举、分区细节等。
但是当我删除/tmp/kafka-logs
目录,并再次重启kafka时,它又在/tmp/kafka-logs
目录中获取了数据。
有没有可能zookeeper也持有数据,传给kafka同步呢?
我正在使用当前最新版本的 kafka,它是 1.0.1
请您参考如下方法:
Zookeeper 用于存储有关主题、分区等信息,但不存储其自身的记录/消息。因此,当您删除 kafka-logs
目录并重新启动 Kafka 时,它会恢复元数据 并重新创建主题、分区等。但是无法从 Zookeeper 恢复记录。
如果您使用复制并且只对单个代理执行此操作,则应从同一分区的其他副本中恢复记录。但是如果没有复制(或者当您为所有代理删除它时),记录/消息将会丢失。