Home
MQ
Kafka retention.ms (메세지 보관 주기 설정)
devfoxstar
devfoxstar
May 13, 2023
1 min

Table Of Contents

01
보관 주기
02
보관 주기 설정
03
Broker 설정
04
Topic 설정
05
설정 단위 및 종류에 따른 관계
06
추가

보관 주기


Kafka에서 Message 보관 주기를 설정할 수 있습니다.
기본은 7일이지만 상황에 따라 그보다 짧거나 길게 설정하기도 합니다.

보관 주기 설정


보관 주기는 log.retention.{ms|minutes|hours}으로 지정할 수 있습니다.

log.retention.ms=1000       //1초
log.retention.minutes=1     //1분
log.retention.hours=1       //1시간

Broker 설정


기본은 Broker 단위로 설정되어 있습니다.
$KAFKA_HOME/config/server.properties 파일에서 수정할 수 있습니다.

log.retention.hours=168     //보관 주기는 기본 7일

log.retention.check.interval.ms=300000      //보관 주기 체크는 기본 5분

Topic 설정


Topic 단위로도 설정할 수 있습니다.
아래는 Topic 보관 주기를 5분으로 설정했습니다.

./bin/kafka-configs.sh --alter --bootstrap-server localhost:9098 --command-config ./config/client.properties --entity-type topics --entity-name test-message --add-config retention.ms=300000

설정 단위 및 종류에 따른 관계


BrokerTopic에 보관 주기가 동시에 설정되어 있으면, Topic 설정을 우선합니다.
그래서 Broker 기본 값이 7일이지만, Topic 설정을 따라서 5분으로 보관 주기가 설정됩니다.

다음으로 보관 주기 체크입니다.

Topic에서 보관 주기를 1분으로 설정하더라도, 보관 주기 체크 값이 5분이기 때문에 보관 주기는 5분이 됩니다.
Topic 보관 주기를 1분으로 하고 싶다면, 보관 주기 체크 값 역시 1분 이내로 낮춰야 합니다.

log.retention.ms >= log.retention.check.interval.ms 설정해야 원하는 보관 주기로 실행할 수 있습니다.

추가


log.retention.bytes은 로그 파일의 최소 용량입니다.
기본은 -1로 제한이 없습니다.

만약 보관 주기 시간이 안됐더라도, 최소 용량을 초과하면 로그는 바로 삭제됩니다.


Tags

#MQ#MessageQueue#Kafka#Retention

Related Posts

Kafka Topic ReplicationFactor, PartitionCount 적정 개수 설정
August 14, 2023
1 min
© 2024, All Rights Reserved.

Quick Links

About Me

Media