[kafka] docker 를 이용한 간단한 kafka 서비스 구성

kafka 를 구동하려면 zookeeper 도 필요하고.. 여러 설정들이나 설치가 필요해 간단한 테스트 시에도 번거롭다

이를 간편하게 사용할 수 있도록 docker compose 로 구성해두자

카프카 서비스 구동

docker-compose.yml

version: '2'
services:
  zookeeper:
    container_name: local-zookeeper
    image: wurstmeister/zookeeper:3.4.6
    ports:
      - "2181:2181"
  kafka:
    container_name: local-kafka
    image: wurstmeister/kafka:2.12-2.3.0
    depends_on:
      - zookeeper
    ports:
      - "9092:9092"
    environment:
      KAFKA_ADVERTISED_HOST_NAME: 127.0.0.1
      KAFKA_ADVERTISED_PORT: 9092
      KAFKA_CREATE_TOPICS: "test_topic:1:1"
      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock

위와같이 구성하게되면 주키퍼 1 카프카 1 구동되며 test_topic 이 하나 생기게 된다

구동방법은

$ docker-compose -f docker-compose.yml up -d

위 명령으로 구동 할 수 있다

kafka docker container run

컨테이너들을 내릴 때는 docker-compose.yml 파일이 있는 곳에서 아래 명령어를 입력한다

$ docker-compose down

실제 각 컨테이너의 로그는

$ docker container logs local-zookeeper
$ docker container logs local-kafka

로 로그를 확인 가능하다

카프카 produce / consume test

이 글에서는 이미 kafkacat(kcat) 을 사용하는것으로 설명한다

$ kafkacat -l -b localhost:9092 -t test_topic

위명령으로 consume cli 를 구동해보자
(스크린샷 상으로는 이미 구동후 produce 를 두차례 1. asdf 2. qwer 하여해당 메세지가 확인됨)

$ kafkacat -b localhost:9092 -t test_topic -P

간단히 consume/produce 테스트가 가능해졌다

ref. https://github.com/wurstmeister/kafka-docker


댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다