윈도우 환경에서 Kafka 설치 및 구동하기

dahn·2024년 7월 29일

Kafka Hands-On

목록 보기
1/1
post-thumbnail

Spring Boot를 이용해서 Kafka를 이용한 서비스를 만들어볼 예정이다. 우선 Kafka 설치 및 구동이 필요하다.

📌 0. Prerequisite

자바 설치 및 Path 설정이 필요하다. 나는 최신 버전 중 stable한 것으로 설치해놓았다.

javac 17.0.12

📁 1. Download Apache Kafka

Apache Kafka 공식홈페이지에서 위와 같은 Binary 파일을 다운받는다. 나는 Scala 2.13 버전을 다운받았다. 압축해제한 파일을 본인이 사용하기 편한 경로에 위치시킨다. 나는 C드라이브 안의 work폴더 안에 놓았다.

C:\work\kafka_2.13-3.7.1

✅ 2. Kafka 환경변수 세팅

자바 Path 설정해준 것과 동일하게 Kafka도 해준다. 제어판>시스템 및 보안>시스템>고급시스템 설정에서 우선 변수이름을 KAFKA_HOME, 변수 값은 Kafka파일이 위치해있는 위치를 그대로 복사해 아래처럼 저장해준다.

Path에도 위에서 설정해 준 KAFKA_HOME 변수를 이용해 bin 파일이 위치해있는 위치를 등록해준다. 이제 운영체제 어디에서든지 Kafka 명령어를 사용할 수 있게 되었다.

✅ 3. config 파일 경로 잡아주기

다음으로는 Kafka의 configuration을 설정하는 파일에 임시경로로 되어있는 부분을 실제 kafka가 설치된 경로로 업데이트 해줘야 한다. 업데이트해줄 파일은 아래 이미지에서 볼 수 있듯이 server파일과 zookeeper파일이다. 이를 에디터 프로그램으로 열어준다.

두 파일들의 log.dirsdataDir가 처음에는 각각 /tmp/kafka-logs/tmp/zookeeper로 되어있을 것이다. 이 부분을 실제 카프카가 설치된 경로로 아래와 같이 변경하고 저장해준다.

log.dirs=/tmp/kafka-logs ------> log.dirs=C:\work\kafka_2.13-3.7.1\kafka-logs

dataDir=/tmp/zookeeper ------> dataDir=C:\work\kafka_2.13-3.7.1\zookeeper

✅ 4. Zookeeper 실행

분산 애플리케이션 관리를 위한 코디네이터인 Zookeeper를 먼저 실행해야 한다. 아래처럼 Kafka 폴더 경로(C:\work\kafka_2.13-3.7.1)에서 우클릭으로 터미널에서 열기를 선택한 뒤, 아래 명령어를 친다. 윈도우의 경우 꼭 windows 안에 있는 실행파일을 실행하도록 하자.

.\bin\windows\zookeeper-server-start.bat .\config\zookeeper.properties

어쩌구저쩌구 메시지들과 함께 Zookeeper 글자가 확인되면 잘 실행된 것이다.

✅ 5. Kafka Broker 실행

Producer로 부터 받은 메시지(이벤트) 을 저장하고 관리하는 역할을 수행하는 브로커(=카프카)를 실행한다. 앞서 4번의 Zookeeper가 실행되어있는 상태여야 한다.

.\bin\windows\kafka-server-start.bat .\config\server.properties

새 커맨드창을 실행(필요 시 관리자 모드로)하여 위 커맨드라인을 입력하면 아래와 같이 ZookeeperClient가 연결되었다는 둥, Kafka의 설정 등 블라블라 많은 로그가 나온다.

✅ 6. Kafka가 정상적으로 실행되고 있는지 확인하기

새 커맨드창을 띄워(필요 시 관리자 모드로) JPS명령어를 통해 Kafka 데몬이 정상적으로 실행 중인지 확인해본다.

JVM을 기반으로 하는 프로세스 중 Kafka가 정상적으로 떠 있음을 확인할 수 있었다.

✅ 7. Kafka 토픽 생성하고 조회하기

Kafka 클라이언트 서버의 기본 포트는 9092이다. 참고로 Kafka 관련 서비스들이 사용하는 기본 포트는 아래와 같다. (Confluent 문서 참고)

다시 새 커맨드창을 띄우고 example-topics라는 이름의 토픽을 생성해본다. 아래와 같은 명령어를 치면 해당 토픽이 생성되었다는 메시지가 뜬다.

.\bin\windows\kafka-topics.bat --create --bootstrap-server localhost:9092 --topic example-topics

토픽 리스트 조회 명령어는 아래와 같다.

.\bin\windows\kafka-topics.bat --bootstrap-server localhost:9092 --list

다음으로 아래와 같이 카프카 프로듀서를 통해 해당 토픽 내 메시지/이벤트(first message, second message...)를 만들어본다.

.\bin\windows\kafka-console-producer.bat --topic example-topics --bootstrap-server localhost:9092

컨슈머 클라이언트 실행을 위해 또 다시 새 커맨드 창을 띄우고 example-topics라는 토픽 내에 들어있는 이벤트를 꺼내보자.

.\bin\windows\kafka-console-consumer.bat --topic example-topics --from-beginning --bootstrap-se
rver localhost:9092

실시간으로 Producer(왼쪽)와 Consumer(오른쪽) 커맨드창을 동시에 보면 아래 gif 파일처럼 메시지 전달을 더 용이하게 확인할 수 있다.

✅ 8. Kafka 중지하기

카프카 환경을 종료하려면 아래 스텝을 따른다.

  1. Ctrl+C로 컨슈머와 프로듀서 클라이언트를 종료한다.
  2. Ctrl+C로 카프카를 종료한다.
  3. Ctrl+C로 Zookeeper를 종료한다.

참고
How to Run Apache Kafka on Windows

profile

0개의 댓글