Kafka集群修改单个Topic数据保存周期

在大数据部门经常使用Kafka集群,有的时候大数据部门可能在Kafka中的Topic数据保存时间不需要很长,一旦被消费后就不需要一直保留。默认Topic存储时间为7day,个别的Topic或者某台Kafka集群需要修改Topic数据保存的一个周期,调整为3天或者1天

目前修改Topic 有两种方法

  • 通过修改Kafka配置文件,使全局生效,所有的Topic数据保存时间都进行修改
  • 通过参数调整某个Topic数据保存时间

以上两种方式均进行演示

相关版本信息

复制代码
[root@web-03 ~]# /opt/kafka/bin/kafka-topics.sh --version
3.4.0 (Commit:2e1947d240607d53)

[root@web-03 ~]# cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)

[root@web-03 ~]# uname -r
3.10.0-693.el7.x86_64

全局生效

修改配置文件

复制代码
[root@web-03 ~]# vim /opt/kafka/config/server.properties

# The minimum age of a log file to be eligible for deletion due to age
log.retention.hours=12

#单位为小时

如果是集群需要集群内其它机器也修改

修改完配置文件重启,配置文件是全局生效

单个Topic生效

首先我们先查看目前的Topic

复制代码
[root@web-03 ~]# /opt/kafka/bin/kafka-topics.sh --list --bootstrap-server 192.168.31.71:9092
tw222
two

使用describe参数查看详细Topic数值

复制代码
[root@web-03 ~]# /opt/kafka/bin/kafka-topics.sh --bootstrap-server 192.168.31.71:9092 --describe --topic tw222
Topic: tw222 TopicId: qS-h_V78ShyKC6pN1cuCfw PartitionCount: 2 ReplicationFactor: 1 Configs: segment.bytes=1073741824
Topic: tw222 Partition: 0 Leader: 0 Replicas: 0 Isr: 0
Topic: tw222 Partition: 1 Leader: 0 Replicas: 0 Isr: 0
[root@web-03 ~]#

使用kafka-configs.sh修改Topic名称为tw222

复制代码
[root@web-03 ~]# /opt/kafka/bin/kafka-configs.sh --bootstrap-server 192.168.31.71:9092 --alter --entity-name tw222 --entity-type topics --add-config retention.ms=86400000
#下面为输出结果
Completed updating config for topic tw222.

#--entity-name 指定Topic名称 tw222
#--entity-type topics 类型为Topic
#retention.ms=数据保留时间
  • 86400000毫秒=1天
  • 172800000毫秒=2天
  • 259200000毫秒=3天

毫秒计算器可以访问下面的地址,由abcdocker维护
在线时间换算,年月周天换算,时间单位换算工具-abcdocker在线工具系统

接下来我们查看效果

复制代码
[root@web-03 ~]# /opt/kafka/bin/kafka-topics.sh --bootstrap-server 192.168.31.71:9092 --describe --topic tw222
Topic: tw222 TopicId: qS-h_V78ShyKC6pN1cuCfw PartitionCount: 2 ReplicationFactor: 1 Configs: segment.bytes=1073741824,retention.ms=86400000
Topic: tw222 Partition: 0 Leader: 0 Replicas: 0 Isr: 0
Topic: tw222 Partition: 1 Leader: 0 Replicas: 0 Isr: 0

#retention.ms=86400000这里表示已经为Topic添加了过期时间

相关文章:

  1. 消息队列 Kafka --未完
  2. Zookeeper集群节点异常 Unable to load database on disk java.io.IOException
相关推荐
被遗忘的旋律.17 分钟前
Linux驱动开发笔记(十)——中断
linux·驱动开发·笔记
nnerddboy1 小时前
Linux嵌入式自学笔记(基于野火EBF6ULL):1.配置环境
linux·笔记·单片机·嵌入式硬件
二进制怪兽3 小时前
[笔记] 系统分析师 第八章 软件工程
笔记
yangzhi_emo4 小时前
ES6笔记4
前端·笔记·es6
星梦清河5 小时前
宋红康 JVM 笔记 Day16|垃圾回收相关概念
java·jvm·笔记
誰能久伴不乏5 小时前
Modbus 速查与实战笔记(功能码、帧结构、坑点)
笔记
easy20205 小时前
从机器学习的角度实现 excel 中趋势线:揭秘梯度下降过程
笔记·机器学习·线性回归
Hóng xīng qiáo6 小时前
swVBA自学笔记014、Lisp适合对SolidWorks进行二次开发吗 ?
开发语言·笔记·lisp
Magnetic_h7 小时前
【iOS】block复习
笔记·macos·ios·objective-c·cocoa
带娃的IT创业者8 小时前
《AI大模型应知应会100篇》第68篇:移动应用中的大模型功能开发 —— 用 React Native 打造你的语音笔记摘要 App
人工智能·笔记·react native