当前位置: 首页 > 知识库问答 >
问题:

频繁滚动的kafka消息日志文件

吴俊风
2023-03-14

我安装并配置了汇流Kafka。并且kafka运行的堆大小为1GB。

export kafka_heap_opts=“-xmx1g-xms1g”#from/bin/kafka-server-start

[hduser@laptop thing-data-0]$ ll

-rw-r--r--. 1 confluent confluent 10485760 Dec 30 17:05 00000000000000148868.index
-rw-r--r--. 1 confluent confluent   119350 Dec 30 17:05 00000000000000148868.log

[hduser@laptop thing-data-0]$ ll

-rw-r--r--. 1 confluent confluent 10485760 Dec 30 17:08 00000000000000148928.index
-rw-r--r--. 1 confluent confluent    54901 Dec 30 17:08 00000000000000148928.log

[hduser@laptop thing-data-0]$ ll

-rw-r--r--. 1 confluent confluent 10485760 Dec 30 17:12 00000000000000148988.index
-rw-r--r--. 1 confluent confluent    38192 Dec 30 17:13 00000000000000148988.log

如您所见,日志文件经常滚动。每次旧文件被标记为.deleted并在配置的时间之后被删除。

下面是与/etc/kafka/server.properties中的日志相关的配置设置。

log.roll.hours=168
log.retention.hours=168  #i tried with log.retention.ms as well .. :-)  
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000

当我重新启动Kafka的文件如下所示。

-rw-r--r--. 1 confluent confluent 10485760 Dec 30 17:21 00000000000000149099.index
-rw-r--r--. 1 confluent confluent        0 Dec 30 17:21 00000000000000149099.log

http://kafka.apache.org/documentation/

https://stackoverflow.com/questions/28586008/delete-message-after-consource-it-in-kafka

共有1个答案

罗学真
2023-03-14

是否检查了log.roll.ms-这是主要配置。默认情况下,它没有任何值。但如果存在,它将覆盖log.roll.hours

 类似资料:
  • 在我的Android应用程序中,我收到使用Firebase发送的消息,问题不是所有消息都到达,有时消息到达非常慢。 在我的服务器端,我跟踪我发送到FCM的消息,我总是收到成功:来自FCM的1个响应,仍然有我在Android应用程序中没有收到的消息。 我认为FCM消息日志在上面描述的情况下会有很大的帮助,但我不确定是否存在此选项。 有办法浏览Firebase消息日志吗?

  • 使用Log4j2.8,有没有一种方法可以让我的日志每天旋转,但使当前文件具有恒定的名称? 示例: 我尝试了以下配置,但没有成功: 此外,当我在某一天首次启动应用程序时,我会遇到以下例外情况:

  • 我好像拿不到滚动日志文件。 我的logback.xml配置有以下内容: 有意思。SIFT中“unknown.log”文件中的条目在分钟的停止处停止。之后,不会向SIFT文件写入任何内容,但我一直在catalina.out中获取条目:

  • 我正在从事一个Spring Hibernate项目,其中包含Spring AMQP RabbitMQ消息传递实现。rabbitmq配置位于一个单独的xml中,该xml被导入到根应用程序上下文中。rabbitmq侦听器接收器每秒轮询一次队列。重要的日志消息被大量的调试级轮询消息隐藏在日志文件中。 有没有办法将轮询日志分离到另一个文件中,或者阻止它污染日志? 我使用log4j进行日志记录;配置如下。

  • TL; DR是否有可能在不破坏所有日志的情况下抑制单个Spark日志消息? 我正在EMR上运行火花流作业,并获得日志消息,如: 在开发的这个阶段,没有一个是有用的,它掩盖了我的应用程序故意发出的真实日志。我想阻止Spark发出这些日志消息,或者禁止它们的记录。 AWS客户支持和各种答案(例如)表明,这可以通过在集群创建时传递一些JSON配置来实现。然而,由于这是一个流式作业(理想情况下,群集将永远

  • 我们使用filebeat刮取log.json文件并将其推送到elk服务器 我想在日志目录中添加一个op.json自定义json滚动日志文件。这是为了收集有关调用的操作和perf信息的信息。 基本上,我只想使用一个管理滚动文件的类。在类中,将有一个logOp函数来访问java对象,并对其进行序列化,在json输出中添加一些标准日志字段。 -------------------------------