카프카 다운로드
아파치 카프카를 사용하기전에 설치하려는 PC나 서버에 Java가 설치되어 있어야합니다
Java 설치후 환경변수 까지 끝난 상태에서 카프카를 사용하는 방법에 대해서 설명합니다
24-08-01 기준 최신버전은 3.8.0 이므로 해당 버전을 다운받습니다

Scale 2.13 버전으로 해당 버전을 다운로드 한다음 압축파일을 풀어줍니다
카프카 실행하기

압축이 정상적으로 풀렸다면 해당 폴더를 터미널로 접근합니다
저는 WindowPowerShell로 접근하도록 하겠습니다
우선 Kafka를 실행하기 전에 먼저 Zookeeper를 실행해줘야 합니다
bin\windows\zookeeper-server-start.bat .\config\zookeeper.properties (윈도우)
./bin/windows/zookeeper-server-start.bat 경로에 있는 Zookeeper 실행파일을 실행하게 됩니다
만약 linux 환경이라면 ./bin 경로안에있는 zookeeper-server.start.sh 쉘 파일을 경로로 지정해주면 됩니다
그다음 ./config/zookeeper.properties 로 해당 경로에있는 설정파일을 읽어와 실행합니다

해당 콘솔화면이 뜨고 별다른 오류없이 서버가 구동된다면 성공입니다
만약 명령줄이 길다는 오류가 발생할경우 최대한 경로를 짧게해서 실행하시면 됩니다
C 드라이브 바로아래 폴더를 만들고 폴더이름도 짧게해서 실행하면 될것입니다
Zookeeper가 제대로 실행이 되었다면 Kafka를 실행해주면 됩니다
bin\windows\kafka-server-start.bat .\config\server.properties
위와 동일하게 linux 환경이면 windows 폴더까지 들어가지않고 bin 폴더에 접근후 쉘파일을 실행시켜주면 됩니다
똑같이 kafka-server-start.bat 파일 경로와 server-properties 설정파일 경로를 지정해주고 실행해주면 됩니다

별다른 오류없이 정상적으로 실행이 되었다면 Kafka를 사용할 준비가 된것입니다
bin\windows\kafka-topics.bat --create --bootstrap-server 카프카 접속주소:카프카 포트 --topic 카프카 토픽이름
예시 > bin\windows\kafka-topics.bat --create --bootstrap-server localhost:9000 --topic test-topic
Kafka는 기본포트로 9000번 포트를 사용하게 되는데 이제 따로 터미널을 열어서 토픽을 생성하고 메시지를 확인, 보내볼수있습니다
위 명령어를 이용해서 메시지를 넣어줄 토픽을 생성합니다
bin\windows\kafka-topics.bat --list --bootstrap-server 카프카 접속주소:카프카 포트
예시) bin\windows\kafka-topics.bat --list --bootstrap-server localhost:9092
토픽이 제대로 생성이 됬다면 해당 명령어를 통해서 토픽 리스트를 출력합니다

이제 해당 토픽에 메시지를 쌓아보겠습니다
/bin/windows/kafka-topics.bat --describe --bootstrap-server localhost:9092 --topic test-topic
해당 명령어를 통해 Producer가 되어 직접 토픽에 메시지를 쌓을수있습니다

여러 값을 넣어볼수있으며 메시지를 넣은뒤 Ctrl + X 를 통해서 빠져나와줍니다
이제 해당 토픽에 있는 메시지를 Consumer가 되어서 가져와 보겠습니다
./bin/windows/kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic test-topic --from-beginning
해당 명령어를 통해 토픽에 있는 메시지를 받아올수있습니다

Spring이나 기타 다른언어에 맞는 환경세팅을 통해서 서비스에서 발생한 이벤트를 카프카로 전달할수있습니다
'컴퓨터 > 기술' 카테고리의 다른 글
OpenTelemetry(Otel)을 이용한 로그 수집 Feat. docs (0) | 2025.01.18 |
---|---|
아파치 카프카(Apache Kafka) 는 왜 필요할까? (0) | 2024.11.02 |