본문 바로가기
[AWS]/Kafka

[Kafka 클러스터 환경 구축] 8강. Topic, Producer, Consumer, Partition, Replica 설명 및 테스트

by METAVERSE STORY 2022. 11. 23.
반응형

 

이번에는 Kafka broker에 Topic을 생성해보고, Producer를 이용하여 메시지 데이터를 생성하고 Consumer를 이용하여 데이터를 소비해 보았습니다. 
그리고 Partition이 어떻게 저장 되는지 눈으로 확인하고, Replication의 간단한 개념도 살펴 보았습니다.!!

[ 환경 구성 ]
아마존 클라우드(AWS)
Apache Zookeeper 3.8.0
Apache Kafka 3.1.0

[ 클러스터 ]
Kafka01(Broker Leader)
Kafka02(Broker Follower)
Kafka03(Broker Follower)

 

 

 

## Kafka Topic 생성 

 

- 전체 6개의 파티션이 생성 (3 x 2) 

 

 

 

 


## Kafka Producer 메시지 생성  (1번 서버에서 메시지 생성)

 

 

## Kafka Consumer 메시지 소비  (2번 서버에서 확인)
- 파티션으로 나눠져 저장되기 때문에 읽어올때 순서가 보장되지 않음  (해결하려면 다음 강좌 확인)

 

 

 

=================================================================

 

 

 

 

  • Kafka Topic 생성

: kafka 2.2 이상 부터 Zookeeper에 직접 연결하지 않고 ”—bootstrap-server” 옵션으로 kafka(9092)에 연결하여도 된다.

# EC2 Ubuntu terminal(kafka01)

$KAFKA_HOME/bin/kafka-topics.sh --create \\
--bootstrap-server kafka01:9092,kafka02:9092,kafka03:9092 \\
--replication-factor 2 \\
--partitions 3 \\
--topic jmkim
  • Kafka Producer 메시지 생성
# EC2 Ubuntu terminal(kafka01)

$KAFKA_HOME/bin/kafka-console-producer.sh \\
--broker-list kafka01:9092,kafka:9092,kafka:9092 \\
--topic jmkim

> This is a message
> This is another message
  • Kafka Consumer 메시지 소비
# EC2 Ubuntu terminal(kafka01)

$KAFKA_HOME/bin/kafka-console-consumer.sh \\
--bootstrap-server kafka01:9092,kafka:9092,kafka:9092 \\
--topic jmkim --from-beginning
  • Zookeeper znode 확인
# EC2 Ubuntu terminal(kafka01)

# zookeeper cli 실행
$ZOOKEEPER_HOME/bin/zkCli.sh

# znode kafka brokers의 topic 리스트 확인
ls /my-kafka-cluster/brokers/topics # jmkim 이 출력 되면 정상

 

 

 

 

 

 

반응형

댓글