添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

添加一个testdelet的topic  每隔10s发送一次数据 ,看一个小时是否会清除一个小时前数据 ,区别:每条记录发送结束后会关闭kafka连接

观察时间 14:59分  发现未删除   结论 不分片没有用

修改server.properties d文件 设置

log.retention.hours=1

log.retention.ms=3600000

log.cleanup.polict=delete

log.segment.delete.delay.ms=60000

log.cleanup.interval.mins=10

log.retention.check.interval.ms=600000

看是否有不同变化

结论 和之前没有区别 数据没有区别, 该实验无效

查看kafka tool在读取数据是否会对删除产生影响

结论 无影响  该实验无效

实验四 :

在  15.10分左右给control发送200条数据 ,看多少时间之后会被删除数据

停止一组topic的发送,看是否有变化  ,写修改

./kafka-configs.sh   --entity-name simulator_250 --zookeeper localhost:2181 --entity-type topics  --alter --add-config  segment.bytes=10000000,retention.ms=3600000,retention.bytes=20000000

1. 关闭发送程序 10分钟后查看是否会删除历史数据

结论 不会被删除数据

2.将topic从消费者处删除  ,查看是否有效

结论 没有删除

3.等待删除时间

结论在 00000000.log的最后一条数据等待一个小时后 该数据被删除了

其他的日志也在陆续过来1个小时后删除

结论 kafka数据是否删除和是否有数据消费读取没有关系 ,和最后一个片段的最后一条数据的时间间隔有关

修改 segment.bytes=10000000,retention.ms=3600000

看1个小时后是否能够删除旧的文件片段

能够删除  删除片段的开始时间11.20,最后时间 14.10分 真正删除时间 14:50分

结论   切片后能够删除  其他topic没有删除

实验全部结论:

kafka数据想要删除需要设置 log.roll.hours(轮转时间)或是segment.bytes(文件大小)  控制日志文件一个最大为多大或多久切片 ,当上个日志文件的最后一条时间到达了log.segment.hours的时间后,上一条日志就会删除  ,或是该topic等待log.segment.hours时间没有数据进入  该topic会被删除

或是默认情况下 segment到达了1G自动分片  或是达到7天自动分片 导致旧的数据被删除

默认删除的轮训时间是10分钟,所以可能部分的的时间有一点区别

所有在配置中加入 log.roll.hours=12既可以解决问题