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分钟
或者
在不用停掉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
版权声明:本文为博主原创文章,转载请附上博文链接!