Docker를 이용해서 kafka "로컬" 설치

·2022년 1월 12일
0
post-thumbnail

설치

  • 사전에 docker, docker compose가 설치되어있어야 한다.

git pull

  • 카프카 도커 이미지 (사실상표준) 의 설정을 받는다.
    * zookeeper와 kafka 함께 설치된다
$ git clone https://github.com/wurstmeister/kafka-docker.git

설정

docker-compose-single-broker.yml 의 설정을 바꾼다

  • KAFKA_ADVERTISED_HOST_NAME 을 127.0.0.1 (로컬호스트) 로 변경한다
  • 로컬에서 간단하게 테스트를 하기 위해 single brocker 을 사용한다

컨테이너 생성

  • 도커 컴포즈 명령어로 도커 이미지 & 컨테이너 생성
docker-compose -f docker-compose-single-broker.yml up -d
  • docker ps 로 실행되고 있는 컨테이너 확인
  • zookeeperkafka 두개가 띄워져 있어야 한다
CONTAINER ID   IMAGE                    COMMAND                  CREATED       STATUS       PORTS                                                NAMES
4596bda0943c   kafka-docker_kafka       "start-kafka.sh"         2 hours ago   Up 2 hours   0.0.0.0:9092->9092/tcp                               kafka-docker_kafka_1
0db297026525   wurstmeister/zookeeper   "/bin/sh -c '/usr/sb…"   2 hours ago   Up 2 hours   22/tcp, 2888/tcp, 3888/tcp, 0.0.0.0:2181->2181/tcp   kafka-docker_zookeeper_1

실행

토픽 생성

docker exec -t 4596 kafka-topics.sh --bootstrap-server localhost:9092 --create --topic test

test 라는 토픽을 생성했다

브로커 연결

docker exec -it 4596 kafka-console-producer.sh --topic test --broker-list localhost:9092
  • 연결이 되면 전달할 메시지를 입력하면된다
  • test 라는 토픽명으로 메시지를 전달하게 되는 것
hello world
kafka

컨슈머 연결

docker exec -it 4596 kafka-console-consumer.sh --topic test --bootstrap-server localhost:9092
  • 다른 bash창에 컨슈머를 연결하면 브로커에서 전달한 메시지를 받는 것을 확인할 수 있다
hello world
kafka
profile
💻📝🤯

0개의 댓글