오늘의 나보다 성장한 내일의 나를 위해…
현재 Inflearn의 MSA 강의를 듣던 중 생긴 에러에 대한 해결책을 적어보려 한다. 일단 내 컴퓨터는 윈도우지만 리눅스 명령어를 쓰는 게 편했기 때문에 PowerShell이나 Cmd로 학습하기 보다는
Window Wsl Ubuntu을 사용해서 실습을 진행하였다.
실습 도중 에러가 발생했는데 아래 사진과 같은 에러다.
중요한 내용만 보면 InconsistentClusterIdException이 발생했다.
구글링 결과 해결책을 찾을 수 있었다.
일단 미리 알아둬야 하는 것은 Window의 Wsl Ubuntu의 디렉토리는 아래와 같은 곳에 있다.
C:\Users\nick1\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\home
kafka 압축 파일을 원하는 디렉토리에 해제를 하게 되면 kafka_2.13-3.0.0 파일이 생기는데 이 파일에 접속하고 사용하기 위해서는 접근 권한을 허용 해줘야 한다.
일단 나는 kafka_2.13-3.0.0에 있는 모든 파일에 모든 권한을 열어주었다.
sudo chmod -R 777 kafka_2.13-3.0.0
그리고 kafka_2.13-3.0.0 폴더에 들어가서 zookeeper를 실행했다.
sudo ./bin/zookeeper-server-start.sh ./config/zookeeper.properties
다른 ubuntu 터미널을 열고 똑같이 폴더에 들어가서 이제 kafka server를 실행한다.
sudo ./bin/kafka-server-start.sh ./config/server.properties
이때 가장 위에 있던 사진에 에러가 나타나게 된다.
해결 방안은 이렇다
kafka_2.13-3.0.0 폴더 안에 config 폴더에 들어가게 되면 server.properties라는 파일이 보인다. 이것을 파일 편집기로 연다.
열고 스크린을 내리다보면 아래와 같이 log.dirs 부분이 있다.
/tmp 아래 kafka-logs 폴더 안에 로그를 저장한다고 되어 있는데 이 경로를 수정해야 한다.
/tmp/kafka-logs로 되어 있는 것을 /home/tmp/kafka-logs로 변경하자
이제 저장하고 닫고 다시 kafka_2.13-3.0.0 폴더로 들어간 다음 서버를 실행해본다.
sudo ./bin/kafka-server-start.sh ./config/server.properties
정상적으로 실행이 되는 것을 볼 수 있다.
만약 잘 되다가 다시 이런 에러가 발생할 경우
tmp 폴더 자체를 지우고 다시 시작하면 된다.
중요한 것은 /tmp 폴더 아래 로그를 저장하면 안된다 그래서 /home 아래 tmp 폴더를 만들고 또 그 아래 kafka-logs 폴더를 만들어 로그를 저장하게 한 것이다