docker-compose.yml
version: '3'
services:
# wurstmeister/zookeeper:3.4.6
zookeeper:
hostname: zookeeper
container_name: zookeeper
image: wurstmeister/zookeeper:3.4.6
ports:
- "2181:2181"
# wurstmeister/kafka:2.13-2.8.1
kafka:
hostname: kafka
container_name: kafka
image: wurstmeister/kafka:2.13-2.8.1
environment:
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://localhost:9092
KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9092
KAFKA_ADVERTISED_HOST_NAME: 127.0.0.1
KAFKA_ADVERTISED_PORT: 9092
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_CREATE_TOPICS: "test:1:1"
ports:
- "9092:9092"
depends_on:
- zookeeper
도커 컴포즈 파일을 위와 같이 작성하고
다음 명령어를 입력한다.
docker-compose up -d
컨테이너가 잘 실행 중인지 확인한다
docker ps
실행 중인 것을 확인했으면, 카프카 컨테이너에 접속해보자
docker exec -it kafka bash
카프카 토픽 리스트를 확인해보자
kafka-topics.sh --list --bootstrap-server kafka:9092
topic 이라는 이름을 가진 토픽을 생성해보자
kafka-topics.sh --create --bootstrap-server kafka:9092 --replication-factor 1 --partitions 1 --topic topic
토픽 리스트 확인
kafka-topics.sh --list --bootstrap-server kafka:9092
topic 이라는 토픽의 상세보기
kafka-topics.sh --describe --bootstrap-server kafka:9092 --topic topic
topic 이름의 토픽에 1 2 3 4 5 6 7 8 9 라는 내용을 넣어보자
kafka-console-producer.sh --bootstrap-server kafka:9092 --topic topic
topic 이라는 토픽을 컨슈머로 읽어보자
kafka-console-consumer.sh --bootstrap-server kafka:9092 --topic topic --from-beginning
내용이 잘 입력된 것을 확인할 수 있다.
컨슈머그룹 리스트를 확인해보자
kafka-consumer-groups.sh --bootstrap-server kafka:9092 --list
컨슈머 그룹을 상세보기 해보자
kafka-consumer-groups.sh --bootstrap-server kafka:9092 --group console-consumer-3016 --describe
현재 활성화돼 있지 않는 것으로 나온다.
먼저 컨슈머를 실행해보자
kafka-console-consumer.sh --bootstrap-server kafka:9092 --topic topic --from-beginning
컨슈머가 실행돼 있는 상태에서 쉘을 하나 더 열어서 카프카 컨테이너에 접속해보자
카프카 컨슈머그룹 리스트를 조회해보자
kafka-consumer-groups.sh --bootstrap-server kafka:9092 --list
새로운 컨슈머그룹이 생겼다.
저 컨슈머그룹의 상세보기를 해보자
kafka-consumer-groups.sh --bootstrap-server kafka:9092 --group console-consumer-22001 --describe
위와 같이 확인할 수 있다.
'Data Engineering > Kafka' 카테고리의 다른 글
[kafka] 카프카 토픽 생성하는 방법 (0) | 2022.01.31 |
---|---|
[kafka] 카프카 클러스터를 GUI(kafdrop)으로 구축하기 (0) | 2022.01.30 |
[kafka] 주키퍼에서 카프카 토픽 확인하는 방법 (0) | 2021.12.26 |
[kafka] 카프카에서 토픽 삭제하는 방법 (0) | 2021.12.26 |
[kafka] 카프카에서 토픽 생성하는 방법 (0) | 2021.12.26 |