728x90
반응형
Kafka 테스트 중 디스크에 용량이 많이 쌓여서 디스크에서 Kafka Topic의 메세지를 삭제하려고 Kafka UI에서 Clear Messages를 했는데 메세지가 삭제되지 않았습니다.
Kafka UI에서 Clear Messages 버튼을 클릭하면, 해당 토픽의 메시지를 삭제하는 것이 아니라 컨슈머 그룹이 해당 토픽의 오프셋(offset)을 가장 최근 메시지의 오프셋으로 이동시키는 작업을 수행합니다. 이는 해당 컨슈머 그룹이 기존에 처리하지 못한 메시지들을 건너뛰고, 최신 메시지부터 읽도록 만드는 것입니다.
디스크에 저장된 메시지는 토픽의 설정된 retention period (보관 기간) 또는 retention size (보관 크기)에 따라 일정 시간이 지나거나 특정 크기에 도달했을 때만 자동으로 삭제됩니다. 따라서 Clear Messages를 사용하더라도, 메시지 데이터는 여전히 디스크에 존재하며, 보관 기간이 만료될 때까지 유지됩니다.
디스크에서 메세지를 삭제하기 위해서는 Kafka 서버를 종료하고 서버에서 Kafka 메세지가 저장되는 경로로 들어가서 consumer_offsets 폴더와 토픽 폴더들을 수동으로 삭제하면 됩니다.
이후 Kafka를 다시 시작하면 Kafka UI에서 Broker가 사용하는 Disk 용량을 확인하면 초기화 된것을 확인할 수 있습니다.
728x90
반응형
'개발 > Kafka' 카테고리의 다른 글
Kafka 메시지 삭제 문제 해결 방법: retention.ms 설정 이해하기 (0) | 2024.08.12 |
---|---|
[Kakfa] No `meta.properties` found in /tmp/kraft-combined-logs 에러 수정 (0) | 2024.03.28 |
Apache Kafka Raft(KRaft) 소개(ZooKeeper 제거) (0) | 2024.02.13 |
Spring Boot에서 Kafka Topic이 Consume 안되는 현상 수정 (1) | 2024.01.29 |
Kafka 서버 비정상적 종료 에러 해결 (다른 프로세스가 파일을 사용 중이기 때문에 프로세스가 액세스 할 수 없습니다) (0) | 2024.01.25 |