반응형
1. Kafka 환경 설정
Kafka 서비스 연동을 위해 Kafka가 설치된 서버를 준비한다.
(1) Kafka 설치
본 가이드는 kafka_2.13-3.1.0.tgz 버전을 기준으로 작성하였다. > Kafka 다운로드(kafka_2.13-3.1.0.tgz)
$ tar -xzf kafka_2.13-3.1.0.tgz
$ cd kafka_2.13-3.1.0
(2) server.properties 설정
config/server.properties 파일을 열어 브로커 서버가 바인딩할 주소를 설정한다. listeners는 카프카 브로커가 내부적으로 바인딩하는 주소이며, advertised.listeners는 카프카 프로듀서, 컨슈머에게 노출할 주소, 즉 외부에서 접속할 주소를 설정한다.
예시 설정은 다음과 같다.
# The address the socket server listens on. It will get the value returned from
# java.net.InetAddress.getCanonicalHostName() if not configured.
# FORMAT:
# listeners = listener_name://host_name:port
# EXAMPLE:
# listeners = PLAINTEXT://your.host.name:9092
listeners=PLAINTEXT://:9092
# Hostname and port the broker will advertise to producers and consumers. If not set,
# it uses the value for "listeners" if configured. Otherwise, it will use the value
# returned from java.net.InetAddress.getCanonicalHostName().
advertised.listeners=PLAINTEXT://192.168.x.xxx:9092
(3) ZooKeeper 실행
ZooKeeper란 카프카 클러스트의 meta data를 저장하는 서버로 Broker를 실행하려면 필수로 떠있어야 한다.
bin/zookeeper-server-start.sh config/zookeeper.properties
Zookeeper가 실행되었다면 Kafka 서버를 실행시킨다.
bin/kafka-server-start.sh config/server.properties
(4) 토픽 생성
다음은 testTopic이라는 이름의 토픽을 생성하는 예시이다.
bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic testTopic
다음은 토픽에 메시지를 작성(Produce)하는 예시이다.
bin/kafka-console-producer.sh --bootstrap-server localhost:9092 --topic testTopic
>Hello
>My Name is Kafka
다음은 토픽의 메시지를 읽어오는(Subscribe) 예시이다.
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic testTopic --from-beginning
다음은 토픽에 consumer group을 지정할 수 있다.
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 -group test-consumer-group --from-beginning --topic testTopic
다음은 consumer group을 조회하는 예시이다.
bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --group test-consumer-group --describe
반응형
'오픈소스' 카테고리의 다른 글
adoc pdf로 변환하는 방법 (rvm&ruby 설치하기)- adoc to pdf with rvm&ruby (0) | 2023.06.30 |
---|