๐ก ์ด๋ฒ ํฌ์คํ ์์๋ ๋ฉ์์ง ๋ก๊ทธ ์ธ๊ทธ๋จผํธ์ ๋ํด ์ ๋ฆฌํด ๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
์นดํ์นด์ ํ ํฝ์ผ๋ก ์ ์ก๋๋ ๋ฉ์์ง๋ ๊ฐ ํํฐ์ ์ ์ธ๊ทธ๋จผํธ, ๋๋ ๋ก๊ทธ ์ธ๊ทธ๋จผํธ๋ผ๋ ํ์ผ์ ์ ์ฅ๋ฉ๋๋ค.
๋ก๊ทธ ์ธ๊ทธ๋จผํธ์๋ ๋ฉ์์ง์ ๋ด์ฉ๊ณผ ๋ฉ์์ง์ ํค, ๊ฐ, ์คํ์ , ๋ฉ์์ง ํฌ๊ธฐ ๊ฐ์ ์ ๋ณด๊ฐ ํจ๊ป ์ ์ฅ๋๋ฉฐ, ๋ธ๋ก์ปค์ ๋ก์ปฌ ๋์คํฌ์ ์ ์ฅ๋ฉ๋๋ค.
ํ๋์ ๋ก๊ทธ ์ธ๊ทธ๋จผํธ ํฌ๊ธฐ๊ฐ ๋๋ฌด ์ปค์ง๋ฉด ํ์ผ์ ๊ด๋ฆฌํ๊ธฐ ์ด๋ ค์์ง๊ธฐ ๋๋ฌธ์ ๊ธฐ๋ณธ์ ์ผ๋ก๋ ์ต๋ 1GB ํฌ๊ธฐ๋ก ์ค์ ๋์ด ์์ต๋๋ค.
๋ง์ฝ ์ค์ ๋ ํฌ๊ธฐ๋ณด๋ค ์ปค์ง๋ ๊ฒฝ์ฐ์ ๊ธฐ๋ณธ์ ์ผ๋ก ๋กค๋ง(Rolling) ์ ๋ต์ ์ฌ์ฉํฉ๋๋ค.
๋ฐ๋ผ์ ํํฐ์ ์ ํ๋ ์ด์์ ์ธ๊ทธ๋จผํธ๋ก ๊ตฌ์ฑ๋๋ฉฐ, ๊ฐ ์ธ๊ทธ๋จผํธ๋ ์ผ์ ์๊ฐ์ด ์ง๋๊ฑฐ๋ ์ฉ๋์ด ์ด๊ณผ๋ ๊ฒฝ์ฐ ๊ธฐ์กด์ ์ธ๊ทธ๋จผํธ๋ close ํ๊ณ ์๋ก์ด ์ธ๊ทธ๋จผํธ๋ฅผ ์์ฑํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํฉ๋๋ค.
๋ก๊ทธ ์ธ๊ทธ๋จผํธ์ ์ํฅ์ ์ฃผ๋ ์ค์ ์ log.segment.bytes์ log.roll.hours(ms) ์ ๋๋ค.
log.segment.bytes
ใ๊ฐ๋ณ ์ธ๊ทธ๋จผํธ์ ์ต๋ ํฌ๊ธฐ์ด๋ฉฐ ๊ธฐ๋ณธ๊ฐ์ 1GB์ ๋๋ค.
ใ์ง์ ๋ ํฌ๊ธฐ๋ฅผ ๋๊ธฐ๋ฉด ํด๋น ์ธ๊ทธ๋จผํธ๋ ๋ ์ด์ active ์ํ๊ฐ ์๋๋ฉฐ close ๋ฉ๋๋ค. (์ค์ง ์ฝ๊ธฐ๋ง ๊ฐ๋ฅ)
ใํ ํฝ์ ์ค์ ์ segment.bytes์ด๋ฉฐ ๊ธฐ๋ณธ๊ฐ์ log.segment.bytes์ ์ค์ ์ ๋ฐ๋ฆ ๋๋ค.
log.roll.hours(ms)
ใ๊ฐ๋ณ ์ธ๊ทธ๋จผํธ๊ฐ ์ ์ง๋๋ ์ต๋ ์๊ฐ์ด๋ฉฐ ๊ธฐ๋ณธ๊ฐ์ 7์ผ์ ๋๋ค.
ใ์ง์ ๋ ์๊ฐ์ ๋๊ธฐ๋ฉด ํด๋น ์ธ๊ทธ๋จผํธ๋ ๋ ์ด์ active ์ํ๊ฐ ์๋๋ฉฐ close ๋ฉ๋๋ค. (์ค์ง ์ฝ๊ธฐ๋ง ๊ฐ๋ฅ)
ใlog.segment.bytes์ ์ง์ ๋ ํฌ๊ธฐ๋งํผ ์ฐจ์ง ์์๋ log.roll.hours(ms) ๋งํผ์ ์๊ฐ์ด ์ง๋๋ฉด ํด๋น ์ธ๊ทธ๋จผํธ๋ฅผ close ํฉ๋๋ค.
ใํ ํฝ ์ค์ ์ segment.ms์ด๋ฉฐ ๊ธฐ๋ณธ๊ฐ์ log.roll.hours ์ค์ ์ ๋ฐ๋ฆ ๋๋ค.
๐ก log.segment.bytes, log.roll.hours ์ค์ ์ ์ฌ์ฉํ๊ฒ ๋๋ฉด ๊ฐ ๋ธ๋ก์ปค๋ง๋ค ์ค์ ์ ์ ์ฉํด์ผ ํ๊ธฐ ๋๋ฌธ์ ๋ง์ฝ ์ ์ญ์ผ๋ก ์ค์ ์ ์ ์ฉํ๊ณ ์ถ์ ๊ฒฝ์ฐ์๋ ํ ํฝ ์ค์ ์ผ๋ก ์ ์ฉํด์ผ ํฉ๋๋ค.
segment.bytes, segment.ms
์์ ๊ฐ์ด ์ผ์ ์๊ฐ, ์ฉ๋ ์ด๊ณผ ์ ์๋ก์ด ์ธ๊ทธ๋จผํธ๊ฐ ์์ฑ๋๋๋ฐ ์ด๋ ํ์ผ๋ช ์ ์คํ์ ๋ฒํธ๋ฅผ ์๋ฏธํฉ๋๋ค.
์ฆ 00000000000000000000.log ๋ 0~41๋ฒ ์คํ์ ์ ๋ฉ์์ง๊ฐ ๋ค์ด์๊ณ , 00000000000000000042.log๋ 42~83๋ฒ ์คํ์ ์ ๋ฉ์์ง๊ฐ ๋ค์ด์์ผ๋ฉฐ 00000000000000000084.log๋ 84๋ฒ ์คํ์ ๋ฉ์์ง๋ถํฐ ๊ณ์ ์ ์ฅ ์ค์ธ ์ํ์์ ์ ์ ์์ต๋๋ค.
๋ก๊ทธ ์ธ๊ทธ๋จผํธ ํ์ธํ๊ธฐ
๋ก๊ทธ ์ธ๊ทธ๋จผํธ ์์ ๋ด์ฉ์ ํ์ธํ๊ธฐ ์ํด์๋ kafka-dump-log ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํด์ผ ํ๋๋ฐ, ์ด์ ๊ด๋ จํด์๋ ์ ๋ฆฌํด ๋ ํฌ์คํ ์ด ์์ผ๋ ์ฐธ๊ณ ํ์๋ฉด ์ข์ ๊ฒ ๊ฐ์ต๋๋ค.
kafka CLI ์ฌ์ฉํ๊ธฐ - kafka-dump-log
๐ก ์ด๋ฒ ํฌ์คํ ์์๋ kafka-dump-log์ ๋ํด ์์๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. kafka-dump-log ์ค๋ช ์ ๋ณด๋ฉด ๋ก๊ทธ ํ์ผ์ ํ์ฑ ํ์ฌ ๊ทธ ๋ด์ฉ์ ์ฝ์์ ๋คํ ํ๋๋ก ๋์์ฃผ๋ฉฐ, ์์๋ ๋ก๊ทธ ์ธ๊ทธ๋จผํธ๋ฅผ ๋๋ฒ๊น ํ๋
soono-991.tistory.com
.index, .timeindex ํ์ผ
ํํฐ์ ์์ ์์ฑ๋๋ ํ์ผ๋ค์ ๋ณด๋ฉด ๋ฉ์์ง์ ๋ํ ์ ๋ณด๊ฐ ์ ์ฅ๋์ด ์๋ log ์ธ๊ทธ๋จผํธ ์ธ์ index ์ธ๊ทธ๋จผํธ์ timeindex ์ธ๊ทธ๋จผํธ ํ์ผ์ด ์๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
index ์ธ๊ทธ๋จผํธ๋ ์คํ์ ๋ณ๋ก byte position ์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค.
๋ก๊ทธ ์ธ๊ทธ๋จผํธ๋ ํ์ผ ๊ธฐ๋ฐ์ด๊ธฐ ๋๋ฌธ์ ํน์ ์คํ์ ์ ๋ฐ์ดํฐ๋ฅผ ํ์ผ์์ ์ฝ๊ธฐ ์ํด์๋ ํด๋น ์คํ์ ์ด File Pointer์์ ์ผ๋ง๋งํผ์ byte์ ์์นํด ์๋์ง ์์์ผ ํฉ๋๋ค.
์ด๋ index ์ธ๊ทธ๋จผํธ๋ฅผ ์ฌ์ฉํ์ฌ ์คํ์ ์ ๋ณด๋ฅผ ํ์ธํฉ๋๋ค.
timeindex ์ธ๊ทธ๋จผํธ๋ ๋ฉ์์ง์ ํ์์คํฌํ ์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค.
์ธ๊ทธ๋จผํธ ํ์ผ ์๋ช ์ฃผ๊ธฐ
์ธ๊ทธ๋จผํธ ํ์ผ์ active → closed → deleted | compacted ๋จ๊ณ๋ก ๊ด๋ฆฌ๊ฐ ๋ฉ๋๋ค.
์ธ๊ทธ๋จผํธ ํ์ผ์ log cleanup ์ ์ฑ ์ ๋ฐ๋ผ ์ง์ ๋ ํน์ ์๊ฐ์ด๋ ํ์ผ ํฌ๊ธฐ์ ๋ฐ๋ผ ์ญ์ ๋๊ฑฐ๋ compact ํํ๋ก ์ ์ฅ๋ฉ๋๋ค.
๋ฐ๋ผ์ log cleanup ์ ์ฑ ์ ์ค์ ํด์ ๋ก๊ทธ๊ฐ ์ญ์ ๋๋ ์ง compact(์์ถ)๋๋์ง๋ฅผ ๊ฒฐ์ ํด์ผ ํ๋๋ฐ ๊ธฐ๋ณธ๊ฐ์ delete๋ก ์ ์ฉ๋์ด ์์ต๋๋ค.
log cleanup ์ ์ฑ ์ ์ํด ๋ก๊ทธ ์ธ๊ทธ๋จผํธ๋ฅผ ์ญ์ ํ๊ฒ ๋๋ฉด ๋ก๊ทธ ์ธ๊ทธ๋จผํธ๋ ๋ค์ 00000000000000000001๋ก ์์ํ๋ ๊ฐ๊ฐ์ ์ธ๊ทธ๋จผํธ ํ์ผ๋ค์ ์๋ก ์์ฑํ๊ฒ ๋ฉ๋๋ค.
log.cleanup.policy = delete
→ ์ธ๊ทธ๋จผํธ๋ฅผ log.retention.hours, log.retention.bytes ์ค์ ๊ฐ์ ๋ฐ๋ผ ์ญ์ ํฉ๋๋ค.
log.cleanup.policy = compact
→ ์ธ๊ทธ๋จผํธ๋ฅผ key ๊ฐ ๋ ๋ฒจ๋ก ๊ฐ์ฅ ์ต์ ์ ๋ฉ์์ง๋ง ์ ์งํ๋๋ก ์ธ๊ทธ๋จผํธ๋ฅผ ์ฌ๊ตฌ์ฑํฉ๋๋ค.
log.cleanup.policy = [delete, compact]
→ ๋ ๋ค ์ ์ฉ๋ฉ๋๋ค.
log.cleanup.policy ์ค์ ํ๋ผ๋ฏธํฐ
config | ์ค๋ช |
log.retention.hours(ms) | ๊ฐ๋ณ ์ธ๊ทธ๋จผํธ๊ฐ ์ญ์ ๋๊ธฐ์ ์ ์งํ๋ ์๊ฐ์ด๋ฉฐ ๊ธฐ๋ณธ๊ฐ์ 7์ผ์
๋๋ค. ํ ํฝ ๊ตฌ์ฑ์ retention.ms์ด๋ฉฐ ๊ธฐ๋ณธ๊ฐ์ log.retention.hours์ ์ค์ ๊ฐ์ ๋ฐ๋ฆ ๋๋ค. |
log.retention.bytes | ์ธ๊ทธ๋จผํธ ์ญ์ ์กฐ๊ฑด์ด ๋๋ ํํฐ์
๋จ์์ ์ ์ฒด ํ์ผ์ ํฌ๊ธฐ๋ฅผ ์ค์ ํฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ -1๋ก ๋ฌดํ๋์
๋๋ค. ํ ํฝ ๊ตฌ์ฑ์ retention.bytes์ด๋ฉฐ ๊ธฐ๋ณธ๊ฐ์ log.retention.bytes์ ์ค์ ๊ฐ์ ๋ฐ๋ฆ ๋๋ค. |
log.retention.check.interval.ms | ๋ธ๋ก์ปค๊ฐ background๋ก ์ธ๊ทธ๋จผํธ ์ญ์ ๋์์ ์ฐพ๊ธฐ ์ํ ms ๋จ์์ ์ฃผ๊ธฐ์ ๋๋ค. |
์ฐธ๊ณ ์๋ฃ
'Kafka' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ก๊ทธ ์ปดํฉ์ (1) | 2023.05.07 |
---|---|
์ปจํธ๋กค๋ฌ (0) | 2023.05.01 |
๋ฆฌ๋์ํฌํฌ & ๋ณต๊ตฌ (0) | 2023.05.01 |
ISR(In Sync Replica) (0) | 2023.05.01 |
Replication (0) | 2023.05.01 |
๋๊ธ