我正在虚拟机中试用kafka(0.8.2.1),但遇到了问题:尽管机器保持运行时一切正常(即使我重新启动zk/kafka),但如果我重新启动机器(在优雅地关闭zk/kafka之后),似乎所有kafka主题都会丢失。
我可能错过了一些基本的东西,因为这可能是不应该发生的。可能是什么?
cd /vagrant/kafka_2.11-0.8.2.1
bin/zookeeper-server-start.sh config/zookeeper.properties
bin/kafka-server-start.sh config/server.properties
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 10 --topic foo
bin/kafka-topics.sh --list --zookeeper localhost:2181
# foo
# ^C then resume ZooKeeper, Kafka, or both
bin/kafka-topics.sh --list --zookeeper localhost:2181
# foo
# ^C both, reboot machine, boot ZK/Kafka again
bin/kafka-topics.sh --list --zookeeper localhost:2181
# no topics
3条答案
按热度按时间xoshrz7s1#
这是因为tmp文件夹在重新启动时被清除。
要解决此问题,请执行以下操作。
转到kafka安装目录并搜索文件server.properties。你应该看到下面的部分
以逗号分隔的目录列表,用于存储日志文件
log.dirs=/tmp/kafka日志
将logs.dir更改为更本地的目录或这样的自定义目录。log.dirs=/users//yyy/software/confluent-5.3.1/mydata
重新启动kafka集群以使更改生效。重新启动系统,您将看到主题仍然存在。
b4wnujal2#
看起来日志的默认位置在/tmp目录中,该目录在重新启动时被擦除。将配置中的位置更改为更永久的位置。
uujelgoq3#
转到kafka安装文件夹>配置>服务器属性
在该文件中搜索log.dirs,将路径从/tmp/logs更改为本地目录。重新启动kafka服务器,您将看到创建的主题将保存在我们在配置文件中更改的本地文件夹中。