카테고리 없음

Apache Kafka(KRaft) 구성하기 - 2(Produce/Consume 까지)

hotpotato0 2023. 3. 5. 23:56

Step 3 : CREATE A TOPIC TO STORE YOUR EVENTS

카프카는 분산 이벤트 스트리밍 플랫폼으로 많은 기기들 사이에서 이벤트에 대해 읽고, 쓰고, 저장하고, 처리를 가능하게 해준다.

이벤트 들은 토픽에 저장된다. 줄여서, 토픽은 파일시스템의 폴더와 유사하고, 이 이벤트들은 폴더 안의 파일들이라 볼수 있다.

 

그럼, 첫번째 이벤트를 적기위해, 토픽을 생성해보자. 먼저 Kafka를 기동한 것과 다른 터미널 하나를 키고 수행시켜보자.

bin/kafka-topics.sh --create --topic quickstart-events --bootstrap-server sd-kafka:9092

#토픽 생성 후 해당 정보를 확인하려면 describe 옵션을 써보자
bin/kafka-topics.sh --bootstrap-server sd-kafka:9092 --topic quickstart-events --describe
#Topic: quickstart-events	TopicId: oaGUHUu-Rc2mgHpqEangvA	PartitionCount: 1	ReplicationFactor: 1	Configs: segment.bytes=1073741824
#	Topic: quickstart-events	Partition: 0	Leader: 1	Replicas: 1	Isr: 1

 

 

*향후 해당 토픽에 대한 옵션을 바꾸고 싶다면, --alter 옵션을 사용하면 된다..!

# partition 개수 변경!
bin/kafka-topics.sh --bootstrap-server sd-kafka:9092 --topic quickstart-events --alter --partitions 4

-> 단 파티션 개수는 이미 분산된 데이터를 줄이는 방법이 복잡하기에, 현재는 partition 개수를 줄일수는 없다..! (삭제 후)새로 생성하는걸 권장

 

추가로 토픽의 일부 옵션을 설정하기 위해서는 kafka-configs.sh 명령어를 사용해야함.

--alter, --add

 

브로커에 설정된 각종 기본값(default)는 아래 명령어를 통해 확인 가능

bin/kafka-configs.sh --bootstrap-server sd-kafka:9092 --broker 0 --all --describe

 

 

Step 4: WRITE SOME EVENTS INTO THE TOPIC

bin/kafka-console-producer.sh --topic quickstart-events --bootstrap-server sd-kafka:9092
> my first

# 프로듀스 정지 시 Ctrl + c