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
위 명령으로 구동 할 수 있다
컨테이너들을 내릴 때는 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 테스트가 가능해졌다
댓글 남기기