Back-End/Kafka

[Kafka] Kafka 설치 및 CLI를 이용해 Producer, Consumer 테스트 (Windows 환경)

유자맛바나나 2021. 8. 7. 04:47

0. 기본 환경

  • jdk 1.8 버전 이상 설치 필요
  • 시스템 환경변수 설정 필요 (JAVA_HOME)

 

1. Kafka 설치

Apache Kafka 공식 홈페이지

 

  • kafka_2.13-2.8.2.tgz 다운로드
  • 적당한 위치로 파일을 옮기고 압축 해제
  • 압축 해제 하면 설치가 끝난 것. kafka_2.13-2.8.2 폴더로 카프카를 실행시킬 수 있다.
  • Zookeeper, Kafka 실행 등을 .sh 파일로 실행했던 맥 환경과 달리 윈도우에서는 bin/windows 폴더 안에 있는 배치 파일들을 사용한다.

 

2. Zookeeper 실행

1. 새로운 PowerShell 실행

2. 카프카 폴더로 이동

3. 주키퍼 실행

$ ./bin/windows/zookeeper-server-start.bat ./config/zookeeper.properties

 

3. Kafka 실행

1. 새로운 PowerShell 실행

2. 카프카 폴더로 이동

3. config 파일 수정

 3.1. server.properties 메모장으로 열기

3.2. advertised.listeners (프로듀서, 컨슈머가 참조하는 end point. 브로커의 접속 정보) 를 수정한다

주석(#) 지우고 advertised.listeners=PLAINTEXT://localhost:9092 입력

*참고 : [Kafka] Kafka Broker 설정(server.properties) 꼼꼼히 들여다보기

 

4. 카프카 서버 실행

$ ./bin/windows/kafka-server-start.bat ./config/server.properties

 

4. Topic 생성해보기

1. 새로운 PowerShell 실행

2. 카프카 폴더로 이동

3. 토픽 생성

$ ./bin/windows/kafka-topics.bat --create --topic topic-example1 --bootstrap-server=localhost:9092

 

5. Console Producer로 Topic에 메시지 발행해보기

1. 새로운 PowerShell 실행

2. 카프카 폴더로 이동

3. Topic으로 메시지 보내는 Producer 실행

$ ./bin/windows/kafka-console-producer.bat --topic topic-example1 --bootstrap-server=localhost:9092

4. 메시지 발행

> First Message
> Second Message

 

6. Console Consumer로 Topic에서 메시지 읽기

1. 새로운 PowerShell 실행

2. 카프카 폴더로 이동

3. Topic에서 메시지 받는 Consumer 실행

$ ./bin/windows/kafka-console-consumer.bat --topic topic-example1 --from-beginning --bootstrap-server=localhost:9092

 

4. from-beginning 옵션을 사용했으므로, 컨슈머를 실행시키 전 프로듀서가 발행한 메시지까지 전부 읽어온다.

5. 프로듀서 커맨드에서 추가로 메시지를 입력하면 컨슈머 커맨드에 읽어온 메시지가 표시된다.