본문 바로가기
기타

[kfaka] kafka 시작해보기

by guru_k 2022. 1. 24.
728x90
반응형

kafka 를 통해서 간단히 events 쓰기 / 읽기를 구현해보고 node.js에서 해당 내용을 구현해보겠습니다.

1. kafka 설치

kafka 다운로드 및 설치 진행

$ tar -xzf kafka_2.13-3.0.0.tgz
$ cd kafka_2.13-3.0.0

2. kafka 환경 구성

java 8+가 설치 되어 있어야 합니다.

ZooKeeper 서비스를 실행

# Start the ZooKeeper service
# Note: Soon, ZooKeeper will no longer be required by Apache Kafka.
$ bin/zookeeper-server-start.sh config/zookeeper.properties

새로운 터미널에서 kafka broker service를 실행

# Start the Kafka broker service
$ bin/kafka-server-start.sh config/server.properties

해당 서비스들이 모두 정상적으로 실행되었다면 kafka를 사용하기 위한 환경이 모두 구성 된것으로 볼 수 있습니다.

3. 토픽 생성

kafka는 분산 이벤트 스트리밍 플랫폼으로 이벤트의 쓰기, 읽기, 저장, 처리등을 지원합니다.

이런 이벤트들은 토픽에 저장이 되고 토픽은 파일시스템의 폴더라고 볼 수 있으며, 이벤트들은 폴더안에 파일이라고 볼 수 있습니다.

토픽을 생성하기 위해 새로운 터미널에서 아래처럼 quickstart-events 라는 토픽을 생성합니다.

$ bin/kafka-topics.sh --create --partitions 1 --replication-factor 1 --topic quickstart-events --bootstrap-server localhost:9092

4. 토픽에 이벤트를 저장

아래 명령어를 사용해서 위에서 만들었던 quickstart-events에 이벤트를 저장 할 수 있습니다.

$ bin/kafka-console-producer.sh --topic quickstart-events --bootstrap-server localhost:9092
> event 1
> event 2

producer의 종료는 ctrl + c 를 눌러서 종료할 수 있습니다.

5. 토픽에서 이벤트 읽기

아래 명령어를 이용해서 quickstart-events 토픽에 저장된 이벤트를 읽을 수 있습니다.

새로운 터미널에서 아래와 같은 명령어를 수행 합니다.

$ bin/kafka-console-consumer.sh --topic quickstart-events --from-beginning --bootstrap-server localhost:9092
event 1
event 2

위에서 quickstart-events에 저장된 이벤트를 읽어올 수 있습니다.

6. kafka 환경 종료

기존 터미널들에서 수행했던 서비스들을 ctrl + c 를 눌러서 종료 시켜 줍니다.

  • Producer, Consumer
  • kafka broker
  • zookeeper server

 

728x90
반응형

댓글