前言

本意利用kafka实现一个类似redis发布订阅的模式,比redis多了一个数据分区的功能。kafka里面的数据我们是不需要存储的,因此我们需要配置对应的删除策略

Kafka版本号

2.8.1

数据清理策略

kafka有两种数据清理策略,delete删除和compact压缩,默认是删除。
delete:一般是使用按照时间保留的策略,当不活跃的segment的时间戳是大于设置的时间的时候,当前segment就会被删除
compact: 日志不会被删除,会被去重清理,这种模式要求每个record都必须有key,然后kafka会按照一定的时机清理segment中的key,对于同一个key只保留罪行的那个key.同样的,compact也只针对不活跃的segment

segment

简介
kafka每个主题有1个或者多个分区组成,对于kakfa生产者和消费者,最多指定推送或者消费哪个具体分区就行。不过kafka在数据存储中,分区又是一个或者多个segment组成。
生成segment的相关配置
log.segment.bytes: 每个segment的大小,达到这个大小会产生新的segment, 默认是1G
log.segment.ms: 配置每隔n ms产生一个新的segment,默认是168h,也就是7天

其他配置

log.retention.ms
segment的最后写入record的时间-当前时间 > retention.ms 的segment会被删除,默认是168h, 7天
ps:这句话很重要,多读几遍去理解它。之前博主就是误以为类似segment不会存活到我所配置的时间,其实是只要没有新segment产生+不停地往该segment写数据就不会删除该段。
如果满足删除条件的话,segment也不会立即删除,只是会打上delete标签。
log.retention.check.interval.ms
每隔多久检查一次是否有可以删除的log,默认是300s,5分钟,删除上面说的打上delete标签的segment

我的配置

因为我是docker部署的,我是将这些当作环境变量写在了docker-compose里面:

version: "3.0"
services:kafka:environment:# segment最后一次写入的时间 减去当前时间大于40s的话,会被打上删除标签KAFKA_LOG_RETENTION_MS: 40000# 10M分一次segmentKAFKA_LOG_SEGMENT_BYTES: 10485760# 每60s将打上删除标签的segment删除KAFKA_LOG_RETENTION_CHECK_INTERVAL_MS: 60000

kafka数据清理配置——删除篇相关推荐

  1. Kafka数据清理配置

    Kafka将数据持久化到了硬盘上,允许你配置一定的策略对数据清理,清理的策略有两个,删除和压缩. 数据清理的方式 删除 log.cleanup.policy=delete启用删除策略 直接删除,删除后 ...

  2. Docker Kafka 数据清理

    一.删除没用的topic # 进入kafka docker exec -it ${containerId} /bin/bash # 进入kafka/bin cd opt/kafka_xxx/bin # ...

  3. Sentry 企业级数据安全解决方案 - Relay PII 和数据清理

    本文档描述了一种我们希望最终对用户隐藏的配置格式.该页面仍然存在的唯一原因是当前 Relay 接受这种格式以替代常规数据清理设置. 以下文档探讨了 Relay 使用和执行的高级数据清理配置的语法和语义 ...

  4. Kafka中数据清理(Log Deletion)

    目录 5. Kafka中数据清理(Log Deletion) 5.1 日志删除 5.1.1 定时日志删除任务 5.1.2 基于时间的保留策略 5.1.3 基于日志大小的保留策略 5.1.4 基于日志起 ...

  5. Mysql删除分区,增加分区,分区数据清理

    Mysql删除分区,增加分区,分区数据清理 最近线上的分区表占用空间较大,需要进行分区数据的删除,记录如下,顺便把分区维护的其他命令也一并记录,方便后续进行查询使用. 之前建表的语句大概如下,省掉了其 ...

  6. sparksql删除MySQL数据_Databricks 第6篇:Spark SQL 维护数据库和表

    Spark SQL 表的命名方式是db_name.table_name,只有数据库名称和数据表名称.如果没有指定db_name而直接引用table_name,实际上是引用default 数据库下的表. ...

  7. kafka数据不丢失不重复_如何配置 KAFKA 使其消息不会丢失

    不可靠的KAFKA 这里的不可靠是指代KAFKA其设计之初就为高性能而设计,其是允许消息丢失的,但经过多个版本的升级之后,通过KAFKA的相关配置,我们可以将其作为可靠的队列(不丢消息的队列). 在本 ...

  8. 小木大数据-kafka安装及配置

    kafka安装及配置 大家好,今天我要给大家介绍一下kafka的安装及配置的方式. 首先介绍一下什么叫kafka.Kafka是一个发布订阅消息系统,它的用途小木我理解的是,我们有一个温度传感器,然后k ...

  9. 数据清理丨如何用机构代码唯一识别企业(科普篇)

    温馨提示,本文较长,可收藏阅读. 查看原文:[数据seminar]数据清理丨如何用机构代码唯一识别企业(科普篇) 推荐语:当今的经济学圈,数据,特别是微观数据已然成为决定研究"成败" ...

最新文章

  1. 如何防止博客文章被窃取
  2. it has a DefiningQuery and no InsertFunction element exists in the ModificationFunctionMapping e...
  3. python绘制简单直方图-Python数据分析:统计函数绘制简单图形
  4. 玩转html5画图 - TimeLangoliers - 博客园
  5. SQL语言之子查询(Oracle)
  6. android服务应用场景,Android Service的使用介绍
  7. 当我们谈游戏优化时,我们谈些什么
  8. HALCON示例程序classify_citrus_fruits.hdev应用常规gmm分类器进行水果分类
  9. java中u怎么用_Java中interrupt的使用
  10. VSCode代码格式化自动换行问题
  11. openldap quick start guide
  12. 吴恩达机器学习编程题ex1上 单变量线性回归: (python版含题目要求、代码、注解)
  13. poj 3335 Rotating Scoreboard - 半平面交
  14. Mac OS 电信3G上网设置
  15. 自学python在家干什么好_在家这么多天,职场人在家能自学什么?
  16. WIFI接口定义知识介绍
  17. Android 报错:Entry name 'AndroidManifest.xml' collided
  18. ES9023P音频DAC解码芯片
  19. WinRAR 7z压缩包处理溢出分析和利用(转)
  20. 使用echarts在地图中使用dispatchAction

热门文章

  1. websphere负载均衡_使用WebSphere DataPower Appliances保护JSON有效负载
  2. 2015浙大计算机考研,2015浙大计算机考研机试题解.pdf
  3. java jar 最大内存大小_Java运行Jar包内存配置的操作
  4. iOS自定义身份证键盘
  5. linux用户管理(1)----创建用户(adduser和useradd)和删除用户(userdel)
  6. win8.1中文版升级专业版
  7. webstorm2020背景和字体_怎么为WebStorm更换主题 修改字体样式
  8. 云南计算机网络技术排名,2017年云南大学排名
  9. 用python3制作视频字幕,生成双英文双语字幕txt和srt文件使用百度和有道翻译自封装翻译接口,可以秒杀付费工具,字幕脚本为qiweb3远程 2022年5月29日
  10. 「 iOS知识小集 」2018 · 第 29 期