繁体   English   中英

Kafka:删除主题的工作方式

[英]Kafka : How delete topic works

我正在使用kafka 2.10-0.9.0.1通过命令删除主题时,该主题被标记为要删除。

bin/kafka-topics.sh --zookeeper localhost:2181 --delete --topic T.AB_KAFF

但是,当我向该主题发布消息时,以及当我再次订阅该主题时,主题描述说其滞后是当前偏移量(最后提交的偏移量)的-ve

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,消费者2_ / 127.0.0.1 G.AB_KAFF,T.AB_KAFF,1、5 ,5、0,消费者2_ / 127.0.0.1

现在,我删除该主题。 并向该主题发布消息

再次订阅后的主题状态:

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

那么,为什么卡夫卡将滞后时间设置为-ve数字。 那不是引发问题的潜力吗?

假设我再次订阅了已删除的主题,因此直到它的-ve lag为0时我都不会收到任何消息

其他信息:
-我在本地运行3个kafka节点
-我添加了属性:delete.topic.enable = true
-本主题的创建分区数= 2,复制因子= 2

删除主题后,存储在Kafka中的记录将丢失。 因此,查询最新偏移量将返回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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM