当前位置:  开发笔记 > 运维 > 正文

重新启动后,Kafka主题不再存在

如何解决《重新启动后,Kafka主题不再存在》经验,为你挑选了1个好方法。

通过在我的kafka安装目录中运行以下命令,在具有3个服务器/代理的本地kafka群集中创建了一个主题

bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 2 --partitions 2 --topic user-activity-tracking-pipeline

一切正常,因为我能够根据自己的主题产生和传达消费者信息。重新启动机器后,我通过在终端中运行以下命令从kafka安装目录启动捆绑的zookeeper

bin/zookeeper-server-start.sh config/zookeeper.properties

通过从kafka安装目录在终端中执行以下命令,启动属于集群的3台服务器

env JMX_PORT=10001 bin/kafka-server-start.sh config/server1.properties
env JMX_PORT=10002 bin/kafka-server-start.sh config/server2.properties
env JMX_PORT=10003 bin/kafka-server-start.sh config/server3.properties

现在,当我通过从kafka安装目录在终端中运行以下命令来列出可用主题时,

bin/kafka-topics.sh --zookeeper localhost:2181 --list

结果是空的!

这是相关的服务器1配置条目。服务器2和服务器3的值非常相似

broker.id=1
listeners=PLAINTEXT://:9093
num.network.threads=3
num.io.threads=8
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
log.dirs=/tmp/kafka-logs-broker-1
num.partitions=2
num.recovery.threads.per.data.dir=1
log.retention.hours=168
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000
log.cleaner.enable=false
zookeeper.connect=localhost:2181
zookeeper.connection.timeout.ms=6000

重新启动后,我确实注意到日志文件在下面,因此没有清理任何内容

/tmp/kafka-logs-broker-1
/tmp/kafka-logs-broker-2
/tmp/kafka-logs-broker-3

我想知道为什么以前尝试创建的主题“用户活动跟踪管道”不再存在?



1> C4stor..:

kafka-topics.sh实际上是在后台使用Zookeeper数据来回答查询。理由是,单个经纪人通常本身无法获得足够的信息来完全描述主题。

如果在重新启动过程中丢失了(由于提到了新的zookeeper启动,我怀疑是因为您丢失了),则kafka主题现在完全失明了,无法看到以前的kafka数据。

检查发生情况的最好方法是在查询时实际执行kafka的操作!启动您的zookeeper客户端(这很简单./zkCli.sh,然后键入ls /brokers/topics。如果为空,则您的ZK数据会丢失。

推荐阅读
手机用户2402852307
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有