相关文章推荐
会开车的煎饼  ·  热血街舞团蜜蜂少女队刘雨昕参赛刘雨昕个人资料简介!·  1 年前    · 
慈祥的消防车  ·  性丑闻缠身、携父母自杀的日本男演员,惊曝遗书 ...·  1 年前    · 
礼貌的太阳  ·  从成都到拉萨,骑行318需要多久?·  1 年前    · 
被表白的罐头  ·  泰国演员Mike加盟新片《异类》 ...·  1 年前    · 
踢足球的茄子  ·  岭南师范学院基础教育学院- 知乎·  1 年前    · 
小百科  ›  kafka封禁topic数据[通俗易懂]-腾讯云开发者社区-腾讯云
kafka 大数据 test topic
鼻子大的酱牛肉
1 年前
全栈程序员站长
0 篇文章

kafka删除topic数据[通俗易懂]

前往专栏
腾讯云
开发者社区
文档 意见反馈 控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
发布
首页
学习
活动
专区
工具
TVP 最新优惠活动
返回腾讯云官网
全栈程序员站长
首页
学习
活动
专区
工具
TVP 最新优惠活动
返回腾讯云官网
社区首页 > 专栏 > 全栈程序员必看 > kafka删除topic数据[通俗易懂]

kafka删除topic数据[通俗易懂]

作者头像
全栈程序员站长
发布 于 2022-11-02 10:02:53
2.9K 0
发布 于 2022-11-02 10:02:53
举报

kafka删除topic 数据 生产环境中,有一个topic的数据量非常大。这些数据不是非常重要,需要定期清理。

要求:默认保持24小时,某些topic 需要保留2小时或者6小时

二、清除方式 主要有3个:

1. 基于时间

2. 基于日志大小

3. 基于日志起始偏移量

详情,请参考链接:

https://blog.csdn.net/u013256816/article/details/80418297

接下来,主要介绍基于时间的清除!

kafka版本为: 2.11-1.1.0

zk版本为: 3.4.13

三、kafka配置 # 启用删除主题 delete.topic.enable=true # 检查日志段文件的间隔时间,以确定是否文件属性是否到达删除要求。 log.retention.check.interval.ms=1000

注意:这2行配置必须存在,否则清除策略失效!

log.retention.check.interval.ms 参数的单位是微秒,这里表示间隔1秒钟

四、清除策略 全局topic 在 server.properties 文件中配置的是全局策略,针对每一个topic

单个topic 针对单个topic策略,需要使用脚本kafka-configs.sh

此脚本不需要重启kafka就会生效!

首先来查看一下,当前的topic策略,比如test

bin/kafka-configs.sh –zookeeper zookeeper-1.default.svc.cluster.local:2181 –describe –entity-type topics –entity-name test

参数解释:

–describe 详细信息

–entity-type 实体类型

–entity-name 指定topic名

输出:

Configs for topic ‘test’ are

这个表示为策略为空

删除topic数据 如果需要删除topic所有数据,使用命令

bin/kafka-topics.sh –delete –topic test –zookeeper zookeeper-1.default.svc.cluster.local:2181

这个命令,请谨慎执行!!!

如果想保留主题,只删除主题现有数据(log)。可以通过修改数据保留时间实现

bin/kafka-configs.sh –zookeeper zookeeper-1.default.svc.cluster.local:2181 –entity-type topics –entity-name test –alter –add-config retention.ms=10000

执行输出:

Completed Updating config for entity: topic ‘test’.

注意:修改保留时间为10秒,但不是修改后10秒就马上删掉,kafka是采用轮训的方式,轮训到这个topic发现10秒前的数据都是删掉。时间由server.properties里面的log.retention.check.interval.ms选项为主

再次查看topic策略

bin/kafka-configs.sh –zookeeper zookeeper-1.default.svc.cluster.local:2181 –describe –entity-type topics –entity-name test

输出:

Configs for topic ‘test’ are retention.ms=10000

发现目前的删除策略为 retention.ms=10000

删除策略 如果需要删除上面的10秒策略,使用以下命令:

bin/kafka-configs.sh –zookeeper zookeeper-1.default.svc.cluster.local:2181 –entity-type topics –entity-name test –alter –delete-config retention.ms

输出:

Completed Updating config for entity: topic ‘test’.

再次查看topic策略

bin/kafka-configs.sh –zookeeper zookeeper-1.default.svc.cluster.local:2181 –describe –entity-type topics –entity-name test

输出:

Configs for topic ‘test’ are

发现策略为空,说明删除成功了!

五、测试清除策略 测试思路

说明: 第一步,设置清除策略为保留10秒

第二步,进入生产者模式,输入消息 a

第三步,等待5秒,再次进入生产者模式,输入消息 b

第四部,进入消费者模式,看输出的消息是a还是b

判断标准: 在进行第三步时,a这条消息,应该已经被删除了。所以在第15秒进入消费者模式时,应该输出 b,这样的话,策略才是成功的!

设置策略 topic 为test的数据保留10秒

bin/kafka-configs.sh –zookeeper zookeeper-1.default.svc.cluster.local:2181 –entity-type topics –entity-name test –alter –add-config retention.ms=10000 进入生产模式,输入a

bin/kafka-console-producer.sh –broker-list kafka-1.default.svc.cluster.local:9092 –topic test

 
推荐文章
会开车的煎饼  ·  热血街舞团蜜蜂少女队刘雨昕参赛刘雨昕个人资料简介!
1 年前
慈祥的消防车  ·  性丑闻缠身、携父母自杀的日本男演员,惊曝遗书内容:深情表白 ...
1 年前
礼貌的太阳  ·  从成都到拉萨,骑行318需要多久?
1 年前
被表白的罐头  ·  泰国演员Mike加盟新片《异类》 合作布鲁斯南_手机新浪网
1 年前
踢足球的茄子  ·  岭南师范学院基础教育学院- 知乎
1 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
小百科 - 百科知识指南
© 2024 ~ 沪ICP备11025650号