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

리자몽님의 프로필 이미지

작성한 질문수

Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)

윈도우에서 카프카 토픽 삭제 시, 카프카가 실행이 안됩니다..

작성

·

555

0

https://www.inflearn.com/questions/644825

제가 예전에 올린 글입니다.

질문한 글에 댓글을 또 달았었는데 도저히 해결을 할 수 가 없어서 다시 질문올립니다.

 

제가 윈도우 환경에서 카프카 토픽을 삭제 했는데

그 뒤로 답글로 제시해주신 해결책을 해보려고 해도 해볼 수가 없었습니다..

즉, C:\Temp 디렉토리 하위에 zookeeper, kafka 폴더가 전혀없고

저의 C:\Temp 아래는 폴더 구조는 다음과 같습니다..

  • 2020(폴더)

    • HncDownload(폴더)

      • Service.log

  • AUtempR(폴더 - 안에 아무것도 없음)

 

그리고 기존 에 사용하고 있던 Kafka환경 폴더(강의에서 제공해주신 폴더)를

삭제하고 다시 압축을 풀어서 압축을 푼 경로에

zookeeper와 kafka를 실행해도 zookeeper는 실행되고 kafka는 실행되지 않습니다...

즉, 동일한 에러가 발생하네요..

대체 어떤 걸 지워야지 다시 kafka서버가 정상 실행될까요?

 

참고로 자료 올려주신 윈도우용 카프카 파일 전부 삭제하고 다시 압축 풀고 설정해도

토픽목록은 동일한 에러로 안보이고, 카프카 역시 동일한 에러로 켜지지 않습니다..

감사합니다.

답변 2

0

Dowon Lee님의 프로필 이미지
Dowon Lee
지식공유자

안녕하세요, 이도원입니다.

temp 디렉토리의 경로는 Kafka 기동 시 사용하는 server.properties 파일에 지정되어 있습니다. C:\temp 라는 디렉토리가 없으면, 해당 파일의 경로를 다시 확인해 보시기 바랍니다. temp 디렉토리는 특정 서비스나 애플리케이션에서 자동으로 생성되니 삭제하셔도 괜찮을 것 같습니다.

Windows에서 Kafka를 실행하는 방법이 정상적으로 되지 않을 경우에는 Docker를 이용하여 실행하는 방법도 있으니, 계속 문제가 생길 경우에는 다시 한번 글 남겨주시기 바랍니다. Docker에서 Kafka를 설치하는 방법으로 안내 드리도록 하겠습니다.

감사합니다.

리자몽님의 프로필 이미지
리자몽
질문자

감사합니다. server.properties 경로가 temp 가 아니라 tmp 로 돼있었네요

tmp 파일에 있는 zoopkerr와 kafka-log 폴더를 삭제하니까 우선 sink-connector 사용까지는 잘 되네요

0

temp 폴더 자체를 지워야 실행이 가능 해 집니다.

리자몽님의 프로필 이미지
리자몽
질문자

아예 C 에 있는 Temp 폴더를 지우라는 말씀이신가요?

image참고로 Temp 폴더 안에

2020/HncDownload 폴더 안에는 Service.log 가 있는데

한글과 컴퓨터 관련 폴더인 것 같고..

AUtempR 폴더안에는 아무것도 없습니다.

Temp 폴더에 kafka 관련 폴더는 없는데

이 폴더를 지운다고 달라길 것 같지는 않은데

그래도 Temp 폴더 자체르 지우라는 말씀이시죠? 궁금한건 그러면 Temp 폴더는 다중에 다시 생겨나나요?

죄송합니다 늦게 봐서 답변 달아봐요...

Kafka log 들이 남는 폴더는 tmp 파일 입니다 제가 오타로 temp 라고 적은 듯합니다.

image

위에 보신 tmp 폴더 안에 zookeeper 와 kafka topic, consummer log 들이 들어 있습니다.
tmp 폴더를 지우면 다시 topic 생성 하여 실행하면 됩니다.
저도 아직 공부중이라 정확히 다 아는건 아니지만 제가 알아 본 봐

__consummer_offset 에는 각 kafka topic 에 대해 커밋된 오프셋 정보가 있다고 합니다

  • 각 topic 에 대해 커밋된 offset이 존재한 경우 topic delete 한 경우

  • 비정상 적인 접속 종료

  • 여러 이유 등등...

__consummer_offset 과 실행 되는 kafka server.properties와 맞지 않으면 이때 오류가 나는걸로 압니다. 이때 offsert 을 재설정 (reset) 하거나 디렉토리를 전부 지우는 방법이 있다고 합니다.

그래서 간단하게 tmp폴더를 지워 다시 시작을하면 새로온 폴더가 만들어지며 offset이 새로 만드는게 가장 쉬운 방법이라 가볍게 말씀 드려봤습니다.

감사합니다.