代码之家  ›  专栏  ›  技术社区  ›  Manish Mishra

动态配置retention.ms不适用于kafka主题

  •  0
  • Manish Mishra  · 技术社区  · 7 年前

    我有一个卡夫卡主题叫 retention 以下是与保留相关的服务器配置:

    log.retention.hours=168
    log.segment.bytes=1073741824
    log.retention.check.interval.ms=3600000 (~ 1 hour)
    log.cleaner.enable=true
    

    下面是特定于主题的配置:

    retention.ms=2592000000,retention.bytes=3298534883328 
    

    其中retention.ms~30d和retention.bytes=~3.29 TB

    我配置了 retention.ms retention.bytes 最近(2019年1月14日)使用以下命令:

    
    ./bin/kafka-topics.sh --zookeeper localhost:2181 --alter --topic retentions --config retention.bytes=219902325555
    

    下面是 retntion.bytes 似乎在工作 保留时间 似乎不起作用。以下是我可以收集的证据:

    cd log_dir/retentions-0/
    ls -lrt 00000000000000000000.*
    -rw-r--r-- 1 root root 294387381 Nov 26 22:37 00000000000000000000.log
    -rw-r--r-- 1 root root      3912 Jan 14 18:06 00000000000000000000.index
    -rw-r--r-- 1 root root      5868 Jan 14 18:06 00000000000000000000.timeindex
    

    如果我们查看旧段的日志,这些日志已经有近2个月的历史了。

    有人能告诉我们这两种配置中的哪一种会对优先级产生影响,或者,无论哪一种都可以工作,只要超过配置的阈值。

    1 回复  |  直到 7 年前
        1
  •  1
  •   OneCricketeer Gabriele Mariotti    7 年前

    两者协同工作。

    卡夫卡:权威指南

    如果已为这两个项指定了值 log.retention.bytes log.retention.ms ... 当满足任一条件时,可以删除消息。

    推荐文章