当前位置: 首页 > 知识库问答 >
问题:

Kafka:删除主题如何运作

盖和泰
2023-03-14
bin/kafka-topics.sh --zookeeper localhost:2181 --delete --topic T.AB_KAFF
bin/kafka-consumer-groups.sh --new-consumer --bootstrap-server localhost:9092 --describe --group G.AB_KAFF

主题的最后状态:

组,主题,分区,当前偏移量,日志结束偏移量,滞后,所有者G.AB_KAFF,T.AB_KAFF,0,5,5,0,Consumer-2_/127.0.0.1 G.AB_KAFF,T.AB_KAFF,1,5,5,0,Consumer-2_/127.0.0.1

现在我删除主题。并将邮件发布到此主题

那么为什么Kafka要把滞后设定为-ve数。这难道不是一个潜在的问题吗?

假设我再次订阅已删除的主题,所以在其-ve滞后为0之前,我将不会收到任何消息

其他信息:
-我正在本地运行3个kafka节点
-我添加了属性:delete.topic.enable=true
-创建此主题时使用分区=2,复制-factor=2

共有1个答案

高化
2023-03-14

一旦你删除一个主题,它的记录存储在Kafaka将丢失。因此,对最新偏移量的查询返回0

组中的使用者实例定期提交特定主题__consumer-offset-{0..49}中的上次读取记录偏移量。在延迟计算期间,它执行latestoffset-lastreadrecordoffset,因此在主题删除后,kafka-consumers-groups命令中显示负延迟。

[kamal@tcltest1 bin]$ sh kafka-run-class.sh kafka.tools.GetOffsetShell --topic test --time -1 --broker-list localhost:9092 # Query to get latest offset
test:0:1000
[kamal@tcltest1 bin]$ sh kafka-topics.sh --topic test --zookeeper localhost:2181 --delete
Topic test is marked for deletion.
Note: This will have no impact if delete.topic.enable is not set to true.
[kamal@tcltest1 bin]$ sh kafka-run-class.sh kafka.tools.GetOffsetShell --topic test --time -1 --broker-list localhost:9092 # After deletion
[kamal@tcltest1 bin]$ 

存储在Zookeeper中的元数据将被异步删除。(如果我错了请纠正我)

[kamal@tcltest1 bin]$ sh zookeeper-shell.sh localhost:2181
Connecting to localhost:2181
Welcome to ZooKeeper!
JLine support is disabled

WATCHER::

WatchedEvent state:SyncConnected type:None path:null
get /brokers/topics/test/partitions/0/state
{"controller_epoch":1,"leader":0,"version":1,"leader_epoch":0,"isr":[0]}
cZxid = 0x13c
ctime = Thu Jun 09 09:56:05 IST 2016
mZxid = 0x13c
mtime = Thu Jun 09 09:56:05 IST 2016
pZxid = 0x13c
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 72
numChildren = 0
 类似资料:
  • 我有几个Kafka的题目作为测试。现在我想通过清理我的Kafka主题列表来把它们全部除掉。我设置了变量,然后停止并重新启动zookeeper和kafka服务器。但什么也帮不了我。主题仍然存在,“标记为删除”。我读了这个问题,但没有找到任何答案。否则,这里建议手动移除任何主题。但我该怎么做呢?在故事的结尾,手动或通过命令行,我如何永久删除Kafka主题?

  • 问题内容: 我需要在kafka-0.8.2.2.3中删除一个主题。我已使用以下命令删除该主题: 该命令已成功执行,但是当我运行命令以列出主题时,我可以看到该主题仍然存在,并且显示 标记为“删除” 。 当我创建主题DummyTopic时,它会输出异常,该主题已存在,下面是堆栈跟踪: 请让我知道如何删除该主题。 问题答案: 从0.8.2.x版本开始支持删除主题。您必须首先在所有代理上启用主题删除(设置

  • 距今已过去数小时,话题仍未删除。 我看到了一些建议,建议我将放在我的中,然后重新启动Kafka。我试过这个。没奏效。 (为什么默认不设置这个?) 我可以关闭kafka和zookeeper,运行,然后再次启动zookeeper和kafka。但这是相当激烈的。确实应该有一些方法来说服实际上删除一个主题?

  • 我们执行以下步骤以删除主题-hgpo.llo.prmt.processed 但即使在12小时后,主题文件夹仍未从/var/kafka/kafka-logs中删除 注意-我们set-delete.topic.enable=true 在/var/kafka/kafka-logs下,我们有许多主题文件夹,如: ..

  • 我有一个关于主题偏移在Kafka中是如何工作的问题,它们是否存储在Kafka中的B树状结构? 我要求它的具体原因,让我们说我有一个主题,在主题中有1000万条记录,这将意味着1000万偏移,如果没有发生压缩或关闭,现在如果我使用consumer.seek(5000000),它将像LinkList的意思是,它将转到0偏移量,并尝试从那里跳到第500000个偏移量,或者它确实有类似索引的结构,可以准确

  • 但是,这将导致以下消息: 如何删除此主题?