删除kafka topic

1、因为项目原因,kakfa通道中经常造成数据阻塞,导致kafka通道中数据量过大,因此我需要将kakfa通道中数据清除(个人项目原因,一直使用一个消费者,只要保证当前消费者不在消费之前很久的数据就可以。因数量过大,造成topic阻塞,消费者消费太慢,还有可能造成重复消费问题)。下面将介绍删除topic中数据或者日志数据的方法。

A: 第一种方法就是

1):停掉kafka进程

2):删除kafka的日志数据,删除topic

3);将zookeeper中的offset偏移量修改

      或者直接将topic删除掉

4);重启kafka进程或者重建kafka通道

这是比较保险也适用于大多数的情况

B: 如果我的需求只是让当前消费者不在消费之前的阻塞数据,那么可以用下面的方法来实现

1): 停掉kafka进程,将kafka的server.properties中的log.retention.hours=1/60;  将日志数据保留1分钟

或者

扫描二维码关注公众号,回复: 4718357 查看本文章

在不用停掉kafka进程的情况下执行:

kafka-configs.sh –zookeeper localhost:2181 –entity-type topics –entity-name test –alter –add-config retention.ms=10000
直接执行当前命令,可以在不停掉kafka进程的情况下,将日志数据保留时间修改成1000毫秒(注意:这里的设置的是毫秒)

这样就可以保证当前消费者不会再消费阻塞的数据了。

以上两种方式,都要保证没有向通道中进行生产的数据的生产者
---------------------
作者:nicodeme
来源:CSDN
原文:https://blog.csdn.net/nicodeme/article/details/81950455
版权声明:本文为博主原创文章,转载请附上博文链接!

猜你喜欢

转载自www.cnblogs.com/vana/p/10201298.html