본문 바로가기

카테고리 없음

[Kafka] docker, docker-compose로 카프카 실행하기

 

 

docker-compose로 kafka와 zookeeper를 한번에 실행하기

로컬에서 테스트 목적이라면 Docker로 Kafka + Zookeeper를 한 번에 띄우는 게 훨씬 깔끔하고 안정적이기 때문에 선택

 

1. Homebrew 또는 바이너리 파일로 설정하는 방법과 Docker 설치 비교

항목 Homebrew or 바이너리 Docker
설치 간편성 상대적으로 복잡 docker-compose up 한 줄이면 끝
환경 설정 JAVA_HOME, PATH, 버전 충돌 등 번거로움 컨테이너 내부에 다 들어 있음
제거 & 초기화 수동 삭제 필요 docker rm, docker-compose down으로 깔끔하게
버전 전환 복잡 이미지 태그만 바꾸면 됨
고립성 호스트 환경에 의존 완전 격리된 실행 환경

 

 

2. docker-compose 파일 작성하기

# docker-compose.yml
version: '3'
services:
  zookeeper:
    image: confluentinc/cp-zookeeper:7.5.0
    container_name: zookeeper
    ports:
      - "2181:2181"
    environment:
      ZOOKEEPER_CLIENT_PORT: 2181
      ZOOKEEPER_TICK_TIME: 2000

  kafka:
    image: confluentinc/cp-kafka:7.5.0
    container_name: kafka
    ports:
      - "9092:9092"
    environment:
      KAFKA_BROKER_ID: 1
      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://localhost:9092
      KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1

 

2. docker-compose 파일 실행하기

# 위 yaml을 저장한 디렉토리에서 실행
docker-compose up -d

 

 

3. 사용하기

# 토픽 생성
docker exec kafka kafka-topics --create --topic test-topic \
  --bootstrap-server localhost:9092 --partitions 1 --replication-factor 1

# 메시지 보내기
docker exec -it kafka kafka-console-producer \
  --bootstrap-server localhost:9092 --topic test-topic

# 메시지 읽기
docker exec -it kafka kafka-console-consumer \
  --bootstrap-server localhost:9092 --topic test-topic --from-beginning

 

1) 토픽 생성

 

2) 프로듀서

3) 컨슈머

 

 

관련: homebrew 로 kafka 설치하기

 

[Kafka] 맥북 m2 homebrew 카프카 설치

1. 설치하기아래 명령어 입력하면 끝!$ brew install kafka 2. 실행 1) 주키퍼(zookeeper) 실행주키퍼 실행 명령$./bin/zookeeper-server-start.sh ./config/zookeeper.properties 카프카 실행 하기 전 주키퍼 먼저 실행해야

k-sky.tistory.com