kafka数据清理配置——删除篇
前言
本意利用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数据清理配置——删除篇相关推荐
- Kafka数据清理配置
Kafka将数据持久化到了硬盘上,允许你配置一定的策略对数据清理,清理的策略有两个,删除和压缩. 数据清理的方式 删除 log.cleanup.policy=delete启用删除策略 直接删除,删除后 ...
- Docker Kafka 数据清理
一.删除没用的topic # 进入kafka docker exec -it ${containerId} /bin/bash # 进入kafka/bin cd opt/kafka_xxx/bin # ...
- Sentry 企业级数据安全解决方案 - Relay PII 和数据清理
本文档描述了一种我们希望最终对用户隐藏的配置格式.该页面仍然存在的唯一原因是当前 Relay 接受这种格式以替代常规数据清理设置. 以下文档探讨了 Relay 使用和执行的高级数据清理配置的语法和语义 ...
- Kafka中数据清理(Log Deletion)
目录 5. Kafka中数据清理(Log Deletion) 5.1 日志删除 5.1.1 定时日志删除任务 5.1.2 基于时间的保留策略 5.1.3 基于日志大小的保留策略 5.1.4 基于日志起 ...
- Mysql删除分区,增加分区,分区数据清理
Mysql删除分区,增加分区,分区数据清理 最近线上的分区表占用空间较大,需要进行分区数据的删除,记录如下,顺便把分区维护的其他命令也一并记录,方便后续进行查询使用. 之前建表的语句大概如下,省掉了其 ...
- sparksql删除MySQL数据_Databricks 第6篇:Spark SQL 维护数据库和表
Spark SQL 表的命名方式是db_name.table_name,只有数据库名称和数据表名称.如果没有指定db_name而直接引用table_name,实际上是引用default 数据库下的表. ...
- kafka数据不丢失不重复_如何配置 KAFKA 使其消息不会丢失
不可靠的KAFKA 这里的不可靠是指代KAFKA其设计之初就为高性能而设计,其是允许消息丢失的,但经过多个版本的升级之后,通过KAFKA的相关配置,我们可以将其作为可靠的队列(不丢消息的队列). 在本 ...
- 小木大数据-kafka安装及配置
kafka安装及配置 大家好,今天我要给大家介绍一下kafka的安装及配置的方式. 首先介绍一下什么叫kafka.Kafka是一个发布订阅消息系统,它的用途小木我理解的是,我们有一个温度传感器,然后k ...
- 数据清理丨如何用机构代码唯一识别企业(科普篇)
温馨提示,本文较长,可收藏阅读. 查看原文:[数据seminar]数据清理丨如何用机构代码唯一识别企业(科普篇) 推荐语:当今的经济学圈,数据,特别是微观数据已然成为决定研究"成败" ...
最新文章
- 如何防止博客文章被窃取
- it has a DefiningQuery and no InsertFunction element exists in the ModificationFunctionMapping e...
- python绘制简单直方图-Python数据分析:统计函数绘制简单图形
- 玩转html5画图 - TimeLangoliers - 博客园
- SQL语言之子查询(Oracle)
- android服务应用场景,Android Service的使用介绍
- 当我们谈游戏优化时,我们谈些什么
- HALCON示例程序classify_citrus_fruits.hdev应用常规gmm分类器进行水果分类
- java中u怎么用_Java中interrupt的使用
- VSCode代码格式化自动换行问题
- openldap quick start guide
- 吴恩达机器学习编程题ex1上 单变量线性回归: (python版含题目要求、代码、注解)
- poj 3335 Rotating Scoreboard - 半平面交
- Mac OS 电信3G上网设置
- 自学python在家干什么好_在家这么多天,职场人在家能自学什么?
- WIFI接口定义知识介绍
- Android 报错:Entry name 'AndroidManifest.xml' collided
- ES9023P音频DAC解码芯片
- WinRAR 7z压缩包处理溢出分析和利用(转)
- 使用echarts在地图中使用dispatchAction
热门文章
- websphere负载均衡_使用WebSphere DataPower Appliances保护JSON有效负载
- 2015浙大计算机考研,2015浙大计算机考研机试题解.pdf
- java jar 最大内存大小_Java运行Jar包内存配置的操作
- iOS自定义身份证键盘
- linux用户管理(1)----创建用户(adduser和useradd)和删除用户(userdel)
- win8.1中文版升级专业版
- webstorm2020背景和字体_怎么为WebStorm更换主题 修改字体样式
- 云南计算机网络技术排名,2017年云南大学排名
- 用python3制作视频字幕,生成双英文双语字幕txt和srt文件使用百度和有道翻译自封装翻译接口,可以秒杀付费工具,字幕脚本为qiweb3远程 2022年5月29日
- 「 iOS知识小集 」2018 · 第 29 期