kafka在0.10之后的版本做日志清理有三个策略
分别是时间,大小,和起始偏移量
使用偏移量做消息的管理,常见的是通过脚本去做
参考:https://blog.csdn.net/u013256816/article/details/80418297
脚本方式参考:https://blog.csdn.net/waneyongfu/article/details/78983820
如果想用java API去实现,可以采用下面的方法
package com.censoft.kafkaAdmin;
import org.apache.kafka.clients.admin.*;
import org.apache.kafka.common.KafkaFuture;
import org.apache.kafka.common.TopicPartition;
import java.sql.*;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
import java.util.concurrent.ExecutionException;
/**
* @author zy Zhang
* @version : 1.0
* @Description
* @since 2020/7/13 16:02
*/
public class DeleteReordsByOffset {
public static void main(String[] args) throws ClassNotFoundException {
// 1.创建kafkaAdminClient
Properties properties = new Properties();
properties.put("bootstrap.servers","192.168.27.111:9092"

本文介绍了Kafka在0.10版本后使用偏移量进行日志清理的策略,包括时间、大小和起始偏移量。提供了通过脚本和Java API管理消息的方法,并补充说明了使用kafka-delete-records.sh或KafkaAdminClient.deleteRecords()可能遇到的约束条件,如log文件的大小设置(log.segment.bytes)对数据删除的影响。
最低0.47元/天 解锁文章
2594

被折叠的 条评论
为什么被折叠?



