튜토리얼 따라하는게 국룰이죠
Apache Kafka에서도 쉽게 사용해볼 수 있는 튜토리얼을 제공해준다.
https://kafka.apache.org/quickstart
튜토리얼을 따라하면 머리 속에 둥둥 떠나니던 개념들과 용어들을 금방 익힐 수 있어서 좋다 👍
그러니 꼭 튜토리얼 해보시길.
1. 카프카 다운로드
https://www.apache.org/dyn/closer.cgi?path=/kafka/3.6.0/kafka_2.13-3.6.0.tgz
위 사이트로 가서 카프카 다운로드를 하기 위한 링크를 한다.
// 다운로드
wget https://dlcdn.apache.org/kafka/3.6.0/kafka_2.13-3.6.0.tgz
// 압축 풀기
tar -xzf kafka_2.13-3.6.0.tgz
위 명령어를 차례대로 입력해주시고 해당 디렉터리로 이동해서 폴더가 있는지 확인해야한다.
굳
brew install kafka
맥 유저의 경우 brew을 이용해 kafka를 손 쉽게 설치할 수 있다.
./bin/kafka-topics.sh --version
인제 버전을 확인해보자.
설치한 kafka_2.13-3.6.0 폴더로 가서 위 명령어를 입력한다.
The operation couldn’t be completed. Unable to locate a Java Runtime. Please visit http://www.java.com for information on installing Java. 이라는 문구가 나왔다.
공식문서에서도 자바가 설치되어져 있어야 한다고 나온다.
brew install --cask adoptopenjdk
이번에도 brew을 이용해서 설치해준다.
설치가 완료되었다면 java -version을 입력해 조회되니 확인한다.
굳
./bin/kafka-topics.sh --version
인제 다시 카프카 버전을 조회한다.
아까와 달리 3.6.0이라는 버전이 나온다.
굳굳
2. KRaft로 서버 실행
// 클러스터 id 생성
KAFKA_CLUSTER_ID="$(bin/kafka-storage.sh random-uuid)"
// 로그 디렉터리 형식 지정
bin/kafka-storage.sh format -t $KAFKA_CLUSTER_ID -c config/kraft/server.properties
// 서버 실행
bin/kafka-server-start.sh config/kraft/server.properties
zookeeper가 아닌 kraft로 실행할 경우 위 명령어를 차례대로 입력한다.
마지막 서버 실행 명령어를 입력하여 위와 같이 Kafka Server started가 나와야 한다.
3. event를 저장할 topic 만들기
bin/kafka-topics.sh --create --topic quickstart-events --bootstrap-server localhost:9092
위 명령어를 이용해 topic을 만들어준다.
❗️ 이때 절대로 서버가 돌아가고 있는 터미널을 끄면 안된다 ❗️
새로운 터미널 하나 더 열어서 위 명령어를 입력하시면 잘 만들어졌다는 문구가 나온다.
bin/kafka-topics.sh --describe --topic quickstart-events --bootstrap-server localhost:9092
이 명령어를 통해서는 아래와 같이 topic에 대한 자세한 정보를 볼 수 있다.
새 topic의 파티션 수와 같은 세부 정보를 표시한다.
카프카 공식문서를 보다가 topic이랑 event 관계를 이해하기에 좋은 시각자료가 있어서 가져왔다.
이 자료를 보면 event는 각 topic에 들어가기 때문에 topic은 폴더라고 생각하고 event는 파일이라고 생각하면 좋을 것 같다.
이걸 메시지큐에 대입해보자면 프로듀서가 메시지(=event)을 큐(=topic)에 전달한다.
그리고 나중에 컨슈머들이 큐(=topic)에 담겨있는 메시지(=event)을 확인하다.
4. event 쓰고 읽기
bin/kafka-console-producer.sh --topic quickstart-events --bootstrap-server localhost:9092
위 명령어를 통해 원하는 대로 event를 쓸 수 있다.
그만 쓰고 있으면 ctrl + c로 종료해주면 된다.
bin/kafka-console-consumer.sh --topic quickstart-events --from-beginning --bootstrap-server localhost:9092
event가 읽어보니 잘 읽어왔다.
굳
이걸로 기본적인 카프카 사용은 끝났다.
다음엔
로컬에서 카프카를 실행하고 테스트해봤다.
다음엔 Docker에서 실제 우리 회사 실 서비스들과 동작할 수 있도록 하자.
'Back Side > Kafka' 카테고리의 다른 글
[Kafka 시리즈] #1 Apache Kafka라고 들어보셨나요? 전 진짜 들어만 봤어요 (+ Zookeeper vs KRaft) (0) | 2023.10.12 |
---|
댓글