인프런 커뮤니티 질문&답변

이무님의 프로필 이미지
이무

작성한 질문수

카프카 완벽 가이드 - 코어편

멀티 브로커 환경에서 Producer의 bootstrap.servers 설정 이해

log dir 관련 질문있습니다!

해결된 질문

작성

·

144

0

안녕하세요,

 

log dir에 대해 질문이 있습니다.

제가 실습을 하다보니 kafka-logs-0? 디렉토리에 많은 하위 디렉토리들이 생겨서 새로운 실습을 위해 비웠습니다.

 

기동 중인 모든 브로커에 대한 log dir를 초기화하였는데, 브로커에서 log dir관련 에러로그가 발생한 후 shutdown이 되길래 다시 구동을 시켰습니다.

 

그리고 각 브로커의 log dir를 다시 확인하니 topic 파티션 dir를 비롯해서 기존 모든 dir가 복원되어있었습니다.

 

제가 궁금한 점은 카프카 클러스터가 동작하면서 브로커만 있는 것이 아니니 복원 지점이 어디엔가 있을 수 있겠다고 생각은 하였는데, topic-partition의 log들은 replication을 배울 때 혹시 특정 브로커(노드)에 문제가 생길 때를 위한 복제라고 배운 것 같은데, 다른 모든 브로커도 모두 이 정보가 지워진 상태에서 어떻게 복원이 가능했던 걸까요?

 

 

 

답변 1

1

권 철민님의 프로필 이미지
권 철민
지식공유자

안녕하십니까,

Zookeeper에서 카프카 Topic/Partition 관련 메타 정보를 가지고 있습니다. 따라서 log dir에 있는 디렉토리 구조와 Zookeeper에서 가지는 메타정보가 맞지 않을 경우에 카프카 브로커가 Zookeeper 정보를 기반으로 Topic 구조를 다시 생성합니다.

하지만 메타 정보에 기반하고 있기 때문에 toic 파일 자체를 삭제 이전으로 복구하지는 못합니다.

완전히 디렉토리를 초기화 하고자 한다면, kakfa, zookeeper 프로세스를 모두 내리고, kafka_logs, zookeeper 디렉토리를 다 삭제해야 합니다.

감사합니다.

이무님의 프로필 이미지
이무

작성한 질문수

질문하기