MEMO

[docker] docker-compose 를 이용해 Kafka + zookeeper 설정하기 본문

Docker

[docker] docker-compose 를 이용해 Kafka + zookeeper 설정하기

by_dev 2020. 11. 10. 22:19

 

1. docker-compose.yml 설정하기

- 사용한 도커 이미지 ( hub.docker.com/r/wurstmeister/kafka)

version: '3'

services:

  zookeeper:

    container_name: zookeeper

    image: wurstmeister/zookeeper

    ports:

      - "2181:2181"

  kafka:

    image: wurstmeister/kafka

    ports:

      - "9092:9092"

    environment:

      KAFKA_ADVERTISED_HOST_NAME: localhost

      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181

    volumes:

      - /var/run/docker.sock:/var/run/docker.sock

 

2. 도커 컴포즈 실행하기

> docker-compose up --build

> docker-compose scale kafka=3

정상적으로 실행되었다면, docker ps 명령어를 통해 총 4개의 container 가 띄워진걸 확인할 수 있다.

 

3. topic 생성해보기

> docker exec -t {containerName} kafka-topics.sh --bootstrap-server :9092 --create --topic {생성할 Topic 명}

> docker exec -t kafka-docker2_kafka_1 kafka-topics.sh --bootstrap-server loalhost:9092 --create --topic testTopic

정상적으로 실행되었다면, Created topic '생성된 topic 명' 로그가 찍힌다.

 

4. topic 을 이용해 message 생성하기 & consume 하기 

#메시지 생성

> docker exec -it kafka-docker2_kafka_1 kafka-console-producer.sh --topic testTopic --broker-list localhost:9092 

#메시지 컨슘

> docker exec -it kafka-docker2_kafka_1 kafka-console-consumer.sh --topic testTopic --bootstrap-server localhost:9092

메시지를 생성하면 컨슘하고 있는 콘솔창에서 실시간으로 메시지가 찍히는것을 확인할 수 있다.

여기까지 하면 기본적인 docker 를 이용하여 kafka - zookeeper 로컬 설정 완료~!

 

* kafka-manager (CMAK-3.0.0.5) 를 통해서 UI 로 손쉽게 토픽 생성/확인도 가능하다 *

 

CMAK-3.0.0.5 - Google 검색

CMAK operator is a set of tools packaged as Helm chart, that allows to install and configure CMAK (previously Kafka Manager) into Kubernetes cluster.

www.google.com

 

Comments