KAFKA 실행 및 실습

반응형
$KAFKA_HOME/bin/kafka-server-start.sh $KAFKA_HOME/config/server.properties

KAFKA 실행

KAFA 설치를 위해 AWS의 EC2 인스턴스에 Ubuto를 설치를 하였습니다.

i3.large 인스턴스

Windows 에서 터미널 접속으로 실행 시 .pem 파일이 있는 .ssh 폴더에 들어가 연결을 위한 명령어를 입력합니다.

 

ZooKeeper 실행

카프카 실행 전 주키퍼를 실행해야 합니다. 

$KAFKA_HOME/bin/zookeeper-server-start.sh $KAFKA_HOME/config/zookeeper.properties

 

정상적으로 Zookeeper가 실행 됐는지를 확인해보겠습니다. 새로운 터미널을 열고 다음 명령어를 이용해 2181 포트가 정상적으로 LISTEN 상태 인지 확인하면 됩니다.

netstat -an | grep 2181
tcp46      0      0  *.2181                 *.*                    LISTEN

 

 

KAFKA 브로커 실행

주키퍼와 마찬가지로 따로 설정하지 않고 실행해 보겠습니다.

$KAFKA_HOME/bin/kafka-server-start.sh $KAFKA_HOME/config/server.properties

 

정상적으로 브로커가 실행 되었는지 확인하기 위해 9092 포트의 상태를 확인해 보겠습니다.

netstat -an | grep 9092
tcp4       0      0  127.0.0.1.9092         127.0.0.1.50831        ESTABLISHED
tcp4       0      0  127.0.0.1.50831        127.0.0.1.9092         ESTABLISHED
tcp46      0      0  *.9092                 *.*                    LISTEN

 

브로커가 정상적으로 주키퍼에 접속했는지 확인해 보기 위해서 2181 포트를 다시 한번 확인하겠습니다.

netstat -an | grep 2181
tcp4       0      0  127.0.0.1.2181         127.0.0.1.50830        ESTABLISHED
tcp4       0      0  127.0.0.1.50830        127.0.0.1.2181         ESTABLISHED
tcp46      0      0  *.2181                 *.*                    LISTEN

 

토픽생성

토픽 생성을 위해서 $KAFKA_HOME/bin/kafka-topics.sh 를 실행하면 됩니다. 토픽에 관련한 주요 옵션은 다음과 같습니다.
  • -- create : 토픽생성
  • -- delete : 토픽삭제
  • -- list : 토픽 목록 확인
  • -- partitions : 토픽에 대한 파티션 개수 지정
  • -- bootstrap-server : 브로커지정
  • -- replication-fcator : 복제인수
$KAFKA_HOME/bin/kafka-topics.sh \
--create \
--bootstrap-server localhost:9092 \
--topic first-topic \
--partitions 1 \
--replication-factor 1
 
 

Producer 실행하기

카프카의 기본 Producer를 생성하고 실행해 보겠습니다. 기본적으로 주어지는 Producer는 콘솔에서 사용자의 입력을 받아 topic으로 게시하는 역할을 합니다.

$KAFKA_HOME/bin/kafka-console-producer.sh --bootstrap-server localhost:9092 --topic first-topic

 

Consumer 실행하기

마찬가지로 기본적인 컨슈머도 손쉽게 실행이 가능합니다.

$KAFKA_HOME/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic first-topic

Producer에 메시지를 입력하면 Consumer에서 그 내용을 출력하는 과정을 확인할 수 있습니다.

 

 

 

 

 

 

 

 

 

 

반응형

'Data Engineering' 카테고리의 다른 글

KAFKA  (0) 2024.08.01