전체 글145 log.cleanup.policy 의 삭제 (delete) 설정에 따른 세그먼트 삭제 메커니즘 log.cleanup.policy 의 삭제 (delete) 설정에 따른 세그먼트 삭제 메커니즘브로커 레벨에서의 log.cleanup.policy 설정 값 확인log.cleanup.policy 기본 값은 delete 이다.kafka-configs --bootstrap-server localhost:9092 --entity-type brokers --entity-name 0 --describe --all | grep policy 브로커 레벨에서의 log.retention.* 설정 값 확인log.retention.hours, log.retention.minutes, log.retention.ms 중 가장 작은 값이 적용되기 때문에 실수를 방지하기 위해 하나만 설정하는 것을 권장.log.retention.by.. 2025. 12. 26. Log Compaction 의 이해 Log Compaction 의 이해Log Compaction 이란?log.cleanup.policy=compact 로 설정 시 Segment 의 Key 값에 따라 가장 최신의 메시지로만 compact 하게 segment 재구성Key 값이 null 인 메시지에는 적용할 수 없다.백그라운드 스레드 방식으로 별도의 I/O 작업을 수행하므로 추가적인 I/O 부하가 소모된다.대표적으로 __consumer_offsets 으로 어떤 consumer 에 어떤 partition offset 까지 읽었는지만 저장 Log Compaction 수행 개요 #1클린 영역 : offset 이 이미 몇 개가 빠진 것으로 보아 compact 한 영역더티 영역 : 아직 compact 이 이루어지지 않은 영역log.cleaner.enab.. 2025. 12. 25. 세그먼트의 생명 주기 관리 및 log.cleanup.policy 의 삭제 (delete ) 설정 이해 세그먼트의 생명 주기 관리 및 log.cleanup.policy 의 삭제 (delete ) 설정 이해Segment 파일의 생명 주기Segment 파일은 Active -> Closed -> Deleted 또는 Compacted 단계로 관리Segment 파일은 Log Cleanup 정책에 따라 지정된 특정 시간이나 파일 크기에 따라 삭제되거나 Compact 형태로 저장된다. Log Cleanup Policy카프카 브로커는 오래된 메시지를 관리하기 위한 정책을 오래된 메시지를 관리하기 위한 정책을 log.cleanup.policy 로 설정 (Topic 레벨은 cleanup.policy)log.cleanup.policy=delete 로 설정하면 segment 를 log.retention.hours 나 log.r.. 2025. 12. 24. 인덱스 (Index) 와 타임인덱스 (TimeIndex) 세그먼트의 이해 인덱스 (Index) 와 타임인덱스 (TimeIndex) 세그먼트의 이해메시지 로그 Segment 와 Index, TimeIndexIndex 파일은 offset 별로 byte position 정보를 가지고 있다. 메시지 Segment 는 File 기반이므로 특정 offset 의 데이터를 파일에서 읽기 위해서는 시작 File Pointer 에서 얼마만큼의 byte 에 위치해 있는지 알아야한다.Index 파일은 모든 offset 에 대한 byte position 정보를 가지고 있지 않으며 log.index.interval.bytes 에 설정된 값만큼의 segment bytes 가 만들어질 때마다 해당 offset 에 대한 byte position 정보를 기록한다.TimeIndex 파일은 메시지의 생성 Uni.. 2025. 12. 23. kafka-dump-log 명령어로 세그먼트내 메시지 로그 확인 kafka-dump-log 명령어로 세그먼트내 메시지 로그 확인세그먼트 파일 확인00000000000000000000.log 세그먼트 파일과 00000000000000000513.log 세그먼트 파일이 존재하는 것을 확인할 수 있다. 00000000000000000000.log 세그먼트 파일 확인offset 이 0 ~ 512번까지 있는 것을 확인할 수 있다.kafka-dump-log --deep-iteration --files /var/lib/kafka/data/topic-segment-2/00000000000000000000.log --print-data-log 00000000000000000513.log 세그먼트 파일 확인offset 이 513번부터 시작하는 것을 확인할 수 있다.kafka-dump-.. 2025. 12. 22. 세그먼트의 구성 및 rolling 메커니즘 세그먼트의 구성 및 rolling 메커니즘토픽 생성 (파티션 3)kafka-topics --bootstrap-server localhost:9092 --create --topic topic-segment --partitions 3 토픽 및 세그먼트 확인/var/lib/kafka/data/topic-segment-0 디렉토리에 관련 세그먼트를 확인할 수 있다. 브로커 레벨에서의 log.segment.bytes 확인log.segment.bytes 설정 값이 1GB 인 것을 확인할 수 있다. (기본 값)kafka-configs --bootstrap-server localhost:9092 --entity-type brokers --entity-name 0 --describe --all | grep log.seg.. 2025. 12. 21. 이전 1 2 3 4 ··· 25 다음