kafka删除topic数据

2023-05-16

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
> a  

 

等待5秒后,再次进入生产模式,输入b


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

 

消费者模式

等待5秒后,进入 消费者模式


bin/kafka-console-consumer.sh --bootstrap-server kafka-1.default.svc.cluster.local:9092 --topic test --from-beginning

b  

 

如果消费者输出为b,表示策略成功!


备注:

如果生产环境中,正在不断的进行生产和消费,执行kafka-configs.sh 脚本,是否会有影响呢?

答案是不会的,它是动态策略!

 

 

本文参考链接:

https://blog.csdn.net/forrest_ou/article/details/78999983

 

posted @ 2019-01-29 17:34 肖祥 阅读( ...) 评论( ...) 编辑 收藏
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

kafka删除topic数据 的相关文章

  • Spring Boot Kafka - 序列化和反序列化JSON

    文章目录 Spring Boot Kafka 序列化和反序列化JSON 前言 配置JsonSerializer和JsonDeserializer 定义一个Model类 Producer类 Consumer类 Controller类 测试 小
  • Redis Streams做股票行情MQ?

    redis作为内存数据库 大多时候都是作为缓存来使用 但是因为有pub sub的存在 所以也可以做MQ来使用 做为MQ 它有两个严重的问题 1 无法持久化 2 没有ack机制 redis pub sub是一个要即时消费的MQ 如果消费晚了
  • cdh下spark2-yarn运行sparkstreaming获取kafka数据使用spark-streaming-kafka-0-10_2.11报错解决

    报错问题 20 07 15 17 20 51 INFO utils AppInfoParser Kafka version 0 9 0 kafka 2 0 0 20 07 15 17 20 51 INFO utils AppInfoPars
  • Kafka之基础笔记

    1 kafka offset 存储 1 1 去zookeeper依赖 比较广为人知的Kafka offset存储方式为zookeeper 在0 8版本时 默认依然是zk 但是此时其实已经出现另外一种offset存储方式了 Kafka以 co
  • Kafka3.0.0版本——消费者(消费者组案例)

    目录 一 消费者组案例 1 1 案例需求 1 2 案例代码 1 2 1 消费者1代码 1 2 2 消费者2代码 1 2 3 消费者3代码 1 2 4 生产者代码 1 3 测试 一 消费者组案例 1 1 案例需求 测试同一个主题的分区数据 只
  • 《消息队列高手课》缓存策略:如何使用缓存来减少磁盘IO?

    现代的消息队列 都使用磁盘文件来存储消息 因为磁盘是一个持久化的存储 即使服务器掉电也不会丢失数据 绝大多数用于生产系统的服务器 都会使用多块儿磁盘组成磁盘阵列 这样不仅服务器掉电不会丢失数据 即使其中的一块儿磁盘发生故障 也可以把数据从其
  • Kafka原理分析

    在基础篇中我们介绍MQ的一些基础原理 这篇文章 我们针对kafka进行较深入的分析 上篇文章中我们提到了kafka中一个名词broker 其实broker可以理解成为一台kafa服务器 kafka的特性和功能 在kafka设计之初是为了实时
  • Kafka:主题创建、分区修改查看、生产者、消费者

    文章目录 Kafka后台操作 1 主题 2 分区 3 生产者 4 消费者组 Kafka后台操作 1 主题 1 创建主题 bin kafka topics sh create bootstrap server hadoop102 9092 r
  • 六、Kafka consumer及ConsumerRebalanceListener实现

    1 comsumer代码示例 public class ConsumerMessage private static final String TOPIC NAME topic 07 public static void main Stri
  • Linux 下搭建 Kafka 环境

    安装步骤 准备软件目录 mkdir datalake 上传之前下载好的安装包到 datalake 目录下 jdk 8u181 linux x64 gz kafka 2 11 2 1 0 tgz zookeeper 3 4 5 tar gz
  • Kafka一致性

    一 存在的一致性问题 1 生产者和Kafka存储一致性的问题 即生产了多少条消息 就要成功保存多少条消息 不能丢失 不能重复 更重要的是不丢失 其实就是要确保消息写入成功 这可以通过acks 1来保证 保证所有ISR的副本都是一致的 即一条
  • 仿kafka实现java版时间轮

    系统定时 超时 在我们平时的项目开发中 会设置系统的超时时间 比如在http接口中设置超时时间 在定时调度中也会用到 在jdk的开发的实现Timer和ScheduledThreadPoolExecutor DelayQueue定时调度中使用
  • springboot集成kafka实战项目,kafka生产者、消费者、创建topic,指定消费分区

    springboot集成kafka实战项目 kafka生产者 消费者 创建topic 指定消费分区 前言 本项目代码可直接集成到你现有的springboot项目中 功能包括 1 kafka生产者配置 2 kafka消费者配置 指定分区消费
  • win10系统下安装Kafka 的详细步骤

    Win10 系统下要使用Kafka需要经过以下三个步骤 1 安装JDK 需要安装依赖java JDK 2 安装zookeeper 资源协调 分配管理 3 安装Kafka 一 安装 Java SE Development Kit 13 0 1
  • Kafka生产者模式生成10亿条数据

    生产者生产消息 public class MyProducer2 public static void main String args throws InterruptedException 生产者 Properties properti
  • WebSocket + kafka实时推送数据(springboot纯后台)

    逻辑 kafka订阅消费者主题 消费后通过webSocket推送到前端 kafka vue financial webSocket 学习引用 SpringBoot2 0集成WebSocket 实现后台向前端推送信息 World Of Mos
  • 【Docker安装部署Kafka+Zookeeper详细教程】

    Docker安装部署Kafka Zookeeper Docker拉取镜像 Docker拉取zookeeper的镜像 docker pull zookeeper Docker拉取kafka的镜像 docker pull wurstmeiste
  • Kafka 监控系统Eagle 使用教程 V1.4.0

    1 下载安装zookeeper 2 下载安装kafka 3 下载安装kafka eagle http download kafka eagle org tar zvxf kafka eagle bin 1 4 0 tar gz 4 配置JA
  • MQ - KAFKA 基础篇

    1 KAFKA的核心组件 API Producer API 它允许应用程序向一个或多个 topics 上发送消息记录 Consumer API 允许应用程序订阅一个或多个 topics 并处理为其生成的记录流 Streams API 它允许
  • 阿里技术官亲笔力作:Kafka限量笔记,一本书助你掌握Kafka的精髓

    前言 分布式 堪称程序员江湖中的一把利器 无论面试还是职场 皆是不可或缺的技能 而Kafka 这款分布式发布订阅消息队列的璀璨明珠 其魅力之强大 无与伦比 对于Kafka的奥秘 我们仍需继续探索 要论对Kafka的熟悉程度 恐怕阿里的大佬们

随机推荐

  • 模糊PID控制算法的C++实现

    很久没有更新博客了 xff0c 今天就来讲讲模糊PID的C 43 43 实现方法 先来看一下整体的框架 xff1a 解释下上面框图的意思 xff0c 模糊PID其实是在普通PID的基础之上 xff0c 通过输入的两个变量 xff1a 误差和
  • C++ Map常见用法说明

    一 声明二 插入操作 1 使用 进行单个插入1 使用insert进行单个和多个插入 三 取值四 容量查询五 迭代器六 删除交换 1 删除2 交换 七 顺序比较八 查找九 操作符 C 43 43 中map提供的是一种键值对容器 xff0c 里
  • MEC —— 优化内存与速度的卷积计算

    本次介绍一种内存利用率高且速度较快的卷积计算方法 来自ICML2017 MEC Memory efficient Convolution for Deep Neural Network 1 背景工作 目前的CNN模型中 xff0c 全连接层
  • linux下常见版本查询操作

    系统版本查询 1 使用uname命令 打印所有版本信息 可通过uname help查看使用方法 uname xff0d span class hljs operator a span 我的 输出 xff1a Linux cvlab span
  • ubuntu 18.04 下 D435i SDK安装 ros-wapper安装 绘制rosbag 运行vins-mono离线/在线

    1 参考blog 1 D435i Ubuntu18 04使用D435i运行VINS Mono 2 RealSenseD435i xff08 一 xff09 xff1a Ubuntu18 04 下的安装 使用和bag录制 xff0c 且解决
  • 两年工作经验程序员的迷茫

    每个人都有每个人的经历 xff0c 每个程序员也有每个程序员的经历 上大学时 xff0c 读的是计算机专业 大一时 xff0c 开始学习office软件 xff0c 之后接触第一种计算机语言C语言 特别是C语言课时 xff0c 其实上课有很
  • 阿里云AccessKey ID获取方式

    1 登录到阿里云的控制台 xff0c 点击右上角的头像图标 xff0c 如下所示 xff1a 2 点击 AccessKey 管理 xff0c 展示如下 xff0c 然后点击 继续使用 xff0c 就可以申请AccessKeyID 和Acce
  • docker启动ubuntu的桌面环境

    一 概述 由于最近一段时间在家办公 xff0c 国内服务器在阿里云 xff0c 国外站点在aws 家里的移动宽带比较差 xff0c 无法访问aws 所以尝试在阿里云启动docker xff0c 找到一个lxde桌面环境的ubuntu镜像 二
  • Portainer中文汉化

    一 概述 Portainer是Docker的图形化管理工具 xff0c 提供状态显示面板 应用模板快速部署 容器镜像网络数据卷的基本操作 xff08 包括上传下载镜像 xff0c 创建容器等操作 xff09 事件日志显示 容器控制台操作 S
  • docker安装kibana

    一 概述 Kibana是一个针对Elasticsearch的开源分析及可视化平台 xff0c 用来搜索 查看交互存储在Elasticsearch索引中的数据 使用Kibana xff0c 可以通过各种图表进行高级数据分析及展示 环境说明 操
  • pyecharts 画地图(热力图)(世界地图,省市地图,区县地图)

    一 概述 在上一篇文章中 xff0c 链接如下 xff1a https www cnblogs com xiao987334176 p 13791061 html 已经介绍了pyecharts画一些基本图形 xff0c 接下来介绍画地图 二
  • vue日期格式化

    一 概述 现有vue页面如下 xff1a 需要将日期转换为 xff1a 2020 12 25 二 实现 修改vue html部分 xff0c 应用方法dateFormat lt el table column prop 61 34 star
  • ElementUI-textarea文本域高度自适应设置的方法

    一 概述 textarea默认情况下 xff0c 当超出范围后 xff0c 会在右边显示滑动条 体验不太好 xff0c 不需要滑动条 xff0c 根据内容 xff0c 自动增加高度 xff0c 并显示完整内容 二 解决方法 主要有3种方式
  • ElementUI 实现el-table 列宽自适应

    一 概述 Element UI 是 PC 端比较流行的 Vue js UI 框架 xff0c 它的组件库基本能满足大部分常见的业务需求 但有时候会有一些定制性比较高的需求 xff0c 组件本身可能没办法满足 最近在项目里就碰到了 很多页面都
  • 微信小程序设置底部导航栏

    一 概述 微信小程序底部想要有一个漂亮的导航栏目 xff0c 不知道怎么制作 xff0c 于是百度找到了本篇文章 xff0c 分享给大家 好了 小程序的头部标题 设置好了 xff0c 我们来说说底部导航栏是如何实现的 我们先来看个效果图 这
  • ElementUI 轮播图

    一 概述 因项目需求 xff0c 需要增加轮播图 xff0c 官方demo效果如下 xff1a 但这个不是我们想要的 xff0c 我们需要的是这样的 二 代码实现 需要在原有的基础上 xff0c 修改页面样式才行 test vue lt t
  • Word在试图打开文件时遇到错误。 请尝试下列方法: 检查文档或驱动器的文件权限。 确保有足够的内存和磁盘空间。 用文本恢复转换器打开文件。

    重新装office之后打开系统的文件提示 Word在试图打开文件时遇到错误 请尝试下列方法 检查文档或驱动器的文件权限 确保有足够的内存和磁盘空间 用文本恢复转换器打开文件 1 文件安全性问题 xff0c 可以打开Word 或ppt xff
  • Docker部署RocketMQ集群

    一 概述 Apache RocketMQ是阿里开源的一款高性能 高吞吐量 队列模型的消息中间件的分布式消息中间件 关于RocketMQ集群架构的详细介绍 xff0c 请参考链接 xff1a https blog csdn net Weixi
  • docker安装zabbix

    一 概述 Zabbix 是一款能够监控众多网络参数和服务器的健康度和完整性的软件 Zabbix 使用灵活的通知机制 xff0c 允许用户为几乎任何事件配置基于邮件的警报 这样可以快速相应服务器问题 Zabbix 基于存储的数据提供出色的报告
  • kafka删除topic数据

    kafka删除topic数据 一 概述 生产环境中 xff0c 有一个topic的数据量非常大 这些数据不是非常重要 xff0c 需要定期清理 要求 xff1a 默认保持24小时 xff0c 某些topic 需要保留2小时或者6小时 二 清