08、Kafka ------ 消息存储相关的配置-->消息过期时间设置、查看主题下的消息存活时间等配置

本文主要是介绍08、Kafka ------ 消息存储相关的配置-->消息过期时间设置、查看主题下的消息存活时间等配置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

  • 消息存储相关的配置
    • ★ 消息的存储介绍
    • ★ 消息过期时间及处理方式
      • 演示:log.cleanup.policy 属性配置
    • ★ 修改指定主题的消息保存时间
      • 演示:将 test2 主题下的消息的保存时间设为10个小时
        • 1、先查看test2主题下的配置
        • 2、然后设置消息的保存时间
        • 3、然后再查一遍test2的配置,看是否修改成功
    • ★ 查看指定主题的配置
      • 命令1:查看所有对象的信息
      • 命令2:查看特定主题的信息

消息存储相关的配置



★ 消息的存储介绍

Kafka的消息主题与JMS、AMQP的消息队列是不同:JMS、AMQP消息队列中的消息只能被消费一次,当消息被消费时,这条消息就会被移出队列;

但Kafka主题中的消息完全可以被多次重复消费,甚至可以从指定下标处开始读取消息。

从某种角度来看,Kafka主题中的消息,就像数据表中的记录,它会在一段时间内持久化保存,客户端(消费者)可根据需要反复地读取它们,

这正是一开始就介绍过的:Kafka并不是单纯的消息组件,而是“开源的分布式事件流平台(open-source distributed event streaming platform)”。



★ 消息过期时间及处理方式

Kafka主题中的消息默认保存期限为7天,这个默认保存时间可通过server.propeties文件中的 log.retention.hours 属性进行修改。

在这里插入图片描述



当数据过期之后,Kafka可以对数据进行两种处理:delete或compact,其中

 - delete 表示直接删除过期数据,- compact 则表示对数据进行压缩整理,更多是偏向整理。

演示:log.cleanup.policy 属性配置

对过期消息的处理设置:设置消息过期后就删除掉

通过server.propeties文件中的 log.cleanup.policy 属性进行配置。

在这里插入图片描述



★ 修改指定主题的消息保存时间

在 server.properties 文件中配置的参数,它们都是对整个Broker生效的。

有些时候,可能希望仅修改特定主题的某些配置,此时就需要对特定主题进行修改了。

修改指定主题的额外属性推荐使用 kafka-configs.bat(.sh)命令,该工具命令可指定如下常用选项:

 --alter:修改。--describe:显示。该选项与--alter选项只能选择其中之一。--delete-config:指定要删除的配置属性,该选项的值应该符合“k1,k2”的形式。--add-config:指定要添加的配置属性,该选项的值为应该符合“k1=v1,k2=[v1,v2,v2],k3=v3”的形式。--bootstrap-server:指定要连接的服务器。--entity-type:指定要配置的实体类型,该选项可支持topics(主题)、clients(客户端)、users(用户)、brokers(代理)和broker-loggers(代理日志)这些值。--entity-name:指定要配置的实体的名称,该选项与--entity-type结合使用,用于指定主题名,客户端ID、用户名、Broker ID。

修改指定主题的保存时间,用 “retention.ms” 属性。



演示:将 test2 主题下的消息的保存时间设为10个小时

–alter ^ 表示要修改
–entity-name test2 ^ 表示修改的是 test2
–entity-type topics ^ 表示修改的类型是 topics 主题类型

 kafka-configs --bootstrap-server localhost:9092 ^--alter ^--entity-name test2 ^--entity-type topics ^--add-config retention.ms=36000000
1、先查看test2主题下的配置

没设置保存时间之前,查看下配置:发现什么都没有
查询的命令在下面【查看指定主题的配置】那里有介绍:就是这个查寻命令

 kafka-configs --bootstrap-server localhost:9092 ^--describe ^--entity-name test2 ^--entity-type topics

在这里插入图片描述

cmak 界面也没有时间显示:配置里面默认消息存放是7天,这里没有显示

在这里插入图片描述

2、然后设置消息的保存时间

然后设置test2主题下的消息保存时间为10小时:

在这里插入图片描述

3、然后再查一遍test2的配置,看是否修改成功

在这里插入图片描述

CMAK 界面查看也有了消息的存活时间:

在这里插入图片描述



★ 查看指定主题的配置

查看指定主题的配置可用两条命令:

命令1:查看所有对象的信息

1、使用 kafka-configs.bat 命令的 --describe 子命令
——该命令可查看所有对象的信息

–bootstrap-server localhost:9092 ^ 这个就是指定连接哪个kafka服务器地址

 kafka-configs --bootstrap-server localhost:9092 ^--describe ^--entity-name test2 ^--entity-type topics

直接查9092节点的kafka下的test2主题的所有对象详细,所以描述的比较少。
可以看到test2主题的配置中,该主题消息的存活时间是10小时。
在这里插入图片描述



命令2:查看特定主题的信息

2、使用 kafka-topics.bat 命令的 --describe子 命令
——该命令只能查看特定主题的信息

kafka-topics --bootstrap-server localhost:9092 ^--topic test2 ^--describe

因为是专门查看主题的,所以不仅有主题的配置信息,还有该主题的分区信息。
在这里插入图片描述

可以在CMAK界面查看这个主题的配置:
不仅可以用命令修改主题配置,在这个CMAK界面也可以直接修改和查看:

在这里插入图片描述

在这里插入图片描述

这篇关于08、Kafka ------ 消息存储相关的配置-->消息过期时间设置、查看主题下的消息存活时间等配置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/591132

相关文章

win10安装及配置Gradle全过程

《win10安装及配置Gradle全过程》本文详细介绍了Gradle的下载、安装、环境变量配置以及如何修改本地仓库位置,通过这些步骤,用户可以成功安装并配置Gradle,以便进行项目构建... 目录一、Gradle下载1.1、Gradle下载地址1.2、Gradle下载步骤二、Gradle安装步骤2.1、安

MySQL数据库双机热备的配置方法详解

《MySQL数据库双机热备的配置方法详解》在企业级应用中,数据库的高可用性和数据的安全性是至关重要的,MySQL作为最流行的开源关系型数据库管理系统之一,提供了多种方式来实现高可用性,其中双机热备(M... 目录1. 环境准备1.1 安装mysql1.2 配置MySQL1.2.1 主服务器配置1.2.2 从

Linux云服务器手动配置DNS的方法步骤

《Linux云服务器手动配置DNS的方法步骤》在Linux云服务器上手动配置DNS(域名系统)是确保服务器能够正常解析域名的重要步骤,以下是详细的配置方法,包括系统文件的修改和常见问题的解决方案,需要... 目录1. 为什么需要手动配置 DNS?2. 手动配置 DNS 的方法方法 1:修改 /etc/res

mysql8.0.43使用InnoDB Cluster配置主从复制

《mysql8.0.43使用InnoDBCluster配置主从复制》本文主要介绍了mysql8.0.43使用InnoDBCluster配置主从复制,文中通过示例代码介绍的非常详细,对大家的学习或者... 目录1、配置Hosts解析(所有服务器都要执行)2、安装mysql shell(所有服务器都要执行)3、

java程序远程debug原理与配置全过程

《java程序远程debug原理与配置全过程》文章介绍了Java远程调试的JPDA体系,包含JVMTI监控JVM、JDWP传输调试命令、JDI提供调试接口,通过-Xdebug、-Xrunjdwp参数配... 目录背景组成模块间联系IBM对三个模块的详细介绍编程使用总结背景日常工作中,每个程序员都会遇到bu

Java实现为PDF设置背景色和背景图片

《Java实现为PDF设置背景色和背景图片》在日常的文档处理中,PDF格式因其稳定性和跨平台兼容性而广受欢迎,本文将深入探讨如何利用Spire.PDFforJava库,以简洁高效的方式为你的PDF文档... 目录库介绍与安装步骤Java 给 PDF 设置背景颜色Java 给 PDF 设置背景图片总结在日常的

C#中通过Response.Headers设置自定义参数的代码示例

《C#中通过Response.Headers设置自定义参数的代码示例》:本文主要介绍C#中通过Response.Headers设置自定义响应头的方法,涵盖基础添加、安全校验、生产实践及调试技巧,强... 目录一、基础设置方法1. 直接添加自定义头2. 批量设置模式二、高级配置技巧1. 安全校验机制2. 类型

MyBatis/MyBatis-Plus同事务循环调用存储过程获取主键重复问题分析及解决

《MyBatis/MyBatis-Plus同事务循环调用存储过程获取主键重复问题分析及解决》MyBatis默认开启一级缓存,同一事务中循环调用查询方法时会重复使用缓存数据,导致获取的序列主键值均为1,... 目录问题原因解决办法如果是存储过程总结问题myBATis有如下代码获取序列作为主键IdMappe

k8s搭建nfs共享存储实践

《k8s搭建nfs共享存储实践》本文介绍NFS服务端搭建与客户端配置,涵盖安装工具、目录设置及服务启动,随后讲解K8S中NFS动态存储部署,包括创建命名空间、ServiceAccount、RBAC权限... 目录1. NFS搭建1.1 部署NFS服务端1.1.1 下载nfs-utils和rpcbind1.1

java时区时间转为UTC的代码示例和详细解释

《java时区时间转为UTC的代码示例和详细解释》作为一名经验丰富的开发者,我经常被问到如何将Java中的时间转换为UTC时间,:本文主要介绍java时区时间转为UTC的代码示例和详细解释,文中通... 目录前言步骤一:导入必要的Java包步骤二:获取指定时区的时间步骤三:将指定时区的时间转换为UTC时间步