Kafka 설치 방법과 기본 명령어를 알아보겠습니다.
실제 사용은 꽤 복잡하지만, 설치나 기본 명령어는 간단합니다.
Kafka 공식 서버에서 파일을 다운로드 합니다.
프로젝트 버전에 맞는 Kafka 버전의 Binary 파일을 다운로드합니다.
Apache Kafka - https://kafka.apache.org/downloads
이후 적당한 폴더에 압축을 풀어주면 설치가 완료됩니다.
Kafka는 별도 설치 과정이 없습니다.
모든 명령어는 Kafka 루트 폴더를 기준으로 합니다.
# Version 확인 bin\windows\kafka-topics.bat --version # Zookeeper 실행 bin\windows\zookeeper-server-start.bat config\zookeeper.properties # Kafka 실행 bin\windows\kafka-server-start.bat config\server.properties # Topic 생성 bin\windows\kafka-topics.bat --create --bootstrap-server localhost:9092 --topic stock-update # Topic 생성 - partitions, replication-factor bin\windows\kafka-topics.bat --create --bootstrap-server localhost:9092 --topic stock-update --partitions 1 --replication-factor 1 # Topic 확인 bin\windows\kafka-topics.bat --describe --bootstrap-server localhost:9092 --topic stock-update # Topic 목록 bin\windows\kafka-topics.bat --list --bootstrap-server localhost:9092 # Topic 삭제 bin\windows\kafka-topics.bat --delete --bootstrap-server localhost:9092 --topic stock-update # Producer bin\windows\kafka-console-producer.bat --bootstrap-server localhost:9092 --topic stock-update # Producer - Key, Value bin\windows\kafka-console-producer.bat --bootstrap-server localhost:9092 --topic stock-update --property "parse.key=true" --property "key.separator=:" --property "print.key=ture" # Producer - Message ABCDE # Producer - Key, Value Message key:{"val1":"A","val2":"B","val3":3} # Consumer bin\windows\kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic stock-update --from-beginning # Consumer Group 확인 bin\windows\kafka-consumer-groups.bat --list --bootstrap-server localhost:9092 # Consumer Group Topic 확인 bin\windows\kafka-consumer-groups.bat --describe --bootstrap-server localhost:9092 --group stock-update-group
간단하게 로컬에서 Kafka 서버를 실행하고 테스트 해보겠습니다.
별도 코드 작성없이 제공되는 Batch 파일을 활용하겠습니다.
테스트를 위해서는 총 4개의 CMD 혹은 PowerShell 창을 띄워야 합니다.
먼저 Coordinator 서버인 Zookeeper를 실행합니다.
참고로 Zookeeper는 Kafka 실행을 위해 꼭 필요한 서버입니다.
하지만 Zookeeper에 대한 의존성이 너무 커지자, Kafka 3.0 부터 Zookeeper를 제거하는 기능들이 나왔습니다.
bin\windows\zookeeper-server-start.bat config\zookeeper.properties
다음으로 Kafka 서버를 실행합니다.
bin\windows\kafka-server-start.bat config\server.properties
이제 Message를 저장하는 공간인 Topic을 생성해야 합니다.
bin\windows\kafka-topics.bat --create --bootstrap-server localhost:9092 --topic stock-update
다음으로 Message를 생산하는 Producer를 실행합니다.
Producer를 실행하면 종료 전까지 계속해서 Message를 생산할 수 있습니다.
Message 간에 구분은 Enter입니다.
bin\windows\kafka-console-producer.bat --bootstrap-server localhost:9092 --topic stock-update >123 >456
마지막으로 Message를 소비하는 Consumer를 실행해 줍니다.
Producer에서 Message가 생산될 때마다, 스트리밍으로 Message 정보가 출력됩니다.
bin\windows\kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic stock-update --from-beginning