Kafka 설치 & 테스트 (Windows 환경)

송현진·2025년 3월 27일
0

Kafka

목록 보기
1/7

개요

강의를 보다가 Mac OS 기준으로만 설명된 영상이 있어, Kafka를 Windows 환경에서 설치하고 간단한 테스트를 통해 실행이 잘 되는지 확인해보려 한다.

사전 준비 (Java 설치 및 환경 변수 설정)

Kafka는 Java 기반으로 동작하기 때문에, Java가 설치되어 있어야 하며 JAVA_HOME 환경 변수도 설정되어야 합니다.

1. Java 설치 여부 확인

CMD 또는 Powershell에 아래 명령어를 입력해 설치 여부를 확인합니다:

java -version

정상적으로 설치되어 있다면 Java 버전이 출력됩니다.
만약 'java'는 내부 또는 외부 명령어로 인식되지 않습니다. 와 같은 메시지가 나온다면 Java가 설치되지 않은 것입니다.

👉 🏻설치가 필요한 경우:

JDK는 17이상을 추천합니다.

2. JAVA_HOME 환경 변수 설정

Kafka 실행 시 JAVA_HOME 변수를 참조하므로, 해당 환경 변수를 반드시 설정해야 합니다.

설정 방법 (Windows 기준)
1. 내 PC > 속성 > 고급 시스템 설정 > 환경 변수 로 이동
2. 시스템 변수(S)에서 새로 만들기

  • 변수 이름: JAVA_HOME
  • 변수 값: Java 설치 경로 (예: C:\Program Files\Java\jdk-17)
  1. Path 변수 편집 → %JAVA_HOME%\bin 추가

  2. 새 CMD 창을 열고 확인:

echo %JAVA_HOME%

Java 경로가 출력되면 설정이 완료된 것입니다.

Kafka 설치

Kafka 홈페이지

kafka를 다운받기 위해 홈페이지로 이동합니다.

kafka 홈페이지

kafka 다운로드

우측 상단 위에 DOWNLOAD KAFKA를 클릭해 다운로드 페이지로 이동합니다.
2.x 버전대는 Zookeeper가 반드시 필요하고 3.x 버전부터는 Zookeeper를 사용할 수도 있고 사용하지 않고 KRaft를 통해 가능하다. Zookeeper와 KRaft를 모두 테스트해보고 싶어 3.6.2 버전을 다운로드했습니다.

tgz 압축 파일 해제

tgz 파일을 C 드라이브에 압축 해제 합니다.
(바탕화면에 풀면 CMD 창에서 명령어를 입력할 시 the input line too long 에러를 만날 수 있으니 경로를 짧게 하기 위함입니다.)

필자는 C 드라이브에서 압축해제 후 kafka라고 이름을 변경해 주었다.

Kafka 압축 파일엔 MacOS와 Windows용 실행 파일이 모두 포함되어 있습니다.
MacOS는 bin 폴더 안에 .sh 파일들로 구성되어 있고
Windows는 bin 폴더 안에 windows 폴더 안에 .bat 파일들로 구성되어 있습니다.
이글은 Windows 용이기 때문에 .bat 파일들을 사용합니다.

kafka 실행 (테스트)

실행 흐름

1. Zookeeper 실행 후 Kafka 실행

반드시 Kafka 실행 전 Zookeeper를 먼저 실행해야 합니다.
Zookeeper는 Kafka를 관리하는 코디네이터로 Zookeeper가 먼저 실행되어야 Kafka를 실행시킬 수 있습니다.

2. Topic 생성

Topic은 Producer와 Consumer의 매개체입니다.
Producer가 Topic에 메시지를 보내면 해당 Topic은 구독한 Consumer에게 메시지가 전달됩니다.
이 때, Topic에는 메시지가 저장되어 Consumer가 처음부터 메시지를 받을 수도 있습니다.

3. Producer 메시지 생성 & Consumer 메시지 수신

Producer를 실행시켜 Topic에 메시지를 보냅니다.
Consumer를 실행시켜 Topic에 있는 메시지를 받습니다.

이제 명령어들을 실행시켜 확인해보겠습니다.

실행 (테스트)

테스트를 위해선 총 4개의 Windows Powershell CMD 창이 필요합니다.
Zookeeper, Kafka, Producer, Consumer 이렇게 4개가 필요합니다.

저는 하나의 CMD를 분할하여 테스트를 진행했습니다.

CMD 창 분할 단축키
창 가로 분할 : Alt + Shift + '+'
창 세로 분할 : Alt + Shift + '-'
패널 포커스 옮기기 : Alt + 방향키
패널, 탭, 창닫기 : Ctrl + Shift + W
다른 단축키를 알고 싶으면 CMD 창 상단 바의 + 옆에 v 를 눌러 설정 -> 작업에서 볼 수 있다.

CMD 창은 모두 C:\kafka 에서 시작합니다.
경로는 본인이 다운받은 Kafka 폴더에서 시작하면 됩니다.

1. Zookeeper 실행

Zookeeper의 기본 포트 번호는 2181 입니다.

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

bin\windows\zookeeper-server-start.bat : Zookeeper를 실행하는 실행 파일입니다.
config\zookeeper.properties : 이 설정 정보를 사용한다는 뜻 입니다.

Zookeeper 실행 확인

netstat -na | findstr "2181"

이렇게 4개의 결과가 나오면 정상 실행된 것입니다.

2. Kafka 실행

Kafka의 기본 포트 번호는 9092입니다.

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

Kafka 실행 확인

netstat -na | findstr "9092"

3. Kafka Topic 생성

# topic 생성하기
# bin\windows\kafka-topics.bat --create --bootstrap-server 카프카 접속 주소:카프카 포트 --topic 토픽이름

# 예시
bin\windows\kafka-topics.bat --create --bootstrap-server localhost:9092 --topic test

# topic 생성 확인
# bin\windows\kafka-topics.bat --list --bootstrap-server 카프카 접속주소:카프카 포트

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

Kafka Topic이 생성되면 C:\tmp\kafka-logs위치에도 Topic의 폴더가 생성됩니다.
server.properties에 기본으로 제공하는 위치입니다.

4. 생성된 Topic에 Message 보내기 (Producer)

# Producer 생성
# bin\windows\kafka-console-producer.bat --broker-list 카프카 접속주소:카프카 포트 --topic 카프카 토픽이름

# 예시
bin\windows\kafka-console-producer.bat --broker-list localhost:9092 --topic test

Producer가 정상 실행되면 > 프롬프트가 나타납니다. 메시지를 입력하면 토픽으로 전송됩니다.

Topic에서 Message 가져오기 (Consumer)

# Consumer 생성
# bin\windows\kafka-console-consumer.bat --bootstrap-server 카프카 접속주소:카프카 포트 --topic 카프카 토픽이름

# 예시
bin\windows\kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic test
# --from beginning 옵션을 추가하면 기존의 발행된 메시지도 모두 가져옵니다.
bin\windows\kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic test --from-beginning

이 상태에서 Producer에 메시지를 입력하면 Consumer가 메시지를 받아오는 것을 확인할 수 있습니다.

profile
개발자가 되고 싶은 취준생

0개의 댓글