-
[Kafka] - 13. Kafka Log File개발/Kafka 2022. 8. 10. 14:05
Kafka Log file
Kafka Log Segment File은 Data File와 같은 개념이다.
- Segment File이 생성되는 위치는 각 Broker의 server.properties File 내 log.dirs Parameter로 정의한다.( ','로 구분 )
- 각 Topic과 Partition은 log.dirs 아래에 하위 directory로 구성
E.g) /data/kafka/kafka-log-a/test_topic-0
log.dirs = /data/kafka/kafka-log-a, /data/kafka/kafka-log-b, /data/kafka/kafka-log-b
File명에는 의미가 존재한다.
000000123453.* File은 123453 Offset부터 7735203(7735204-1) Offset의 Message를 관리한다.
#file $ls /data/kafka/kafka-log-a/test_topic-0 000000123453.index 000000123453.timeindex 000000123453.log 000007735204.index 000007735204.timeindex 000007735204.log leader-epoch-checkpoint
File Type
4 개의 Default File Type
1. Log segment file = Message와 Metadata를 저장한다.
.log
2. Index File = 각 Message의 Offset을 Log Segment File의 byte 위치에 Mapping
.index
3. Time-based index file = 각 Message의 timestamp를 기반으로 Message 검색 시 사용
.timeindex
4. Leader Epoch Checkpoint File = Leader Epoch과 관련 Offset 저장
leader-epoch-checkpoint
2개의 Special File Type
5. Idempotent Producer 사용 시
.snapshot
6. Transactional Producer 사용 시
.txnindex
Log segment File 특징
- Partition은 하나 이상의 Segment로 구성된다.
- Log Segment File의 File명은 저장된 첫번째 Message의 Offset이다.
Log segment file rolling ( log segment file 생성 )
- Log.segment.bytes ( default=1GB )
- Log.roll.ms ( default = 168시간 )
- Log.index.size.max.bytes ( default = 10MB )
Topic을 일반적인 경우가 아니라 아래와 같은 경우라면
__consumer_offset(offset Topic)의 Segment File Rolling 파라미터는 별도로 처리해야 한다.
- offsets.topics.segment.bytes ( default=100MB )
CheckPoint File
Broker에는 2개의 CheckFile이 존재한다.
- Log.dirs Directory에 위치한다.
replication-offset-checkpoint
- 마지막으로 Commit된 Message의 ID인 High Water Mark
- 시작 시 Follower는 이를 사용하여 Commit 되지 않은 Message를 truncate
recovery-point-offset-checkpoint
- data가 disk FLUSH된 지점
- 복구 중 Broker는 이 시점 이후의 Message가 손실된지 여부 확인
'개발 > Kafka' 카테고리의 다른 글
[Kafka] - 15. EOS Transaction (0) 2022.08.10 [Kafka] - 14. EOS(Exactly Once Symantics) (0) 2022.08.10 [Kafka] - 12. Cooperative Sticky Assignor (0) 2022.08.09 [Kafka] 11. Parition Assignment Strategy (0) 2022.08.09 [Kafka] - 10. Consumer_Rebalance (0) 2022.08.09