[컴] kafka message 유지 기간

 카프카 / 메시지 유지 시간 / 유지 기간 / 삭제 기간 / 언제 삭제 / 어떻게 조정 / 시간 연장 / 시간 단축 / run out of

kafka message 유지 기간

기본적으로 kafka 는 어떤 message 가 consume 됐는지 여부를 consumer 가 결정하는 정책이라고 한다.[ref. 1] (이 덕분에 horizontal scalability 가 가능하다.)

log.retention.hours

  • 이 시간이 지나면 topic 에서 자동으로 사라진다.(not-consumed 여도 사라진다.)
  • <kafka>/config/server.properties 에서 설정할 수 있다.
# The minimum age of a log file to be eligible for deletion due to age
log.retention.hours=168

disk 가 다 차면

디스크를 전부 사용하게 돼서, 즉 용량이 다 차도 message 는 사라진다.

개별 메시지 삭제

bin/kafka-delete-records.sh 를 사용해서 message 를 지울 수 있다. 아래는 0~90 까지 지우는 예제이다.

./bin/kafka-delete-records.sh --bootstrap-server localhost:9092 --offset-json-file ./offsetfile.json
// offsetfile.json
{"partitions": [{"topic": "mytopic", "partition": 0, "offset": 90}], "version":1 }

Reference

  1. Delete message after consuming it in KAFKA - Stack Overflow
  2. How do I delete/clean Kafka queued messages without deleting Topic - Stack Overflow

댓글 없음:

댓글 쓰기