Kafka를 Docker에 설치하기

Kafka를 Docker에 설치하기

Kafka를 Docker에 설치하기

Kafka는 공식 Docker 이미지가 없으므로 직접 Dockerfile을 작성하여 설치해야 합니다. 이 글에서는 Kafka를 Docker에서 실행하는 과정을 설명합니다.

📌 Kafka 설치 및 실행

1️⃣ Kafka 다운로드

Kafka는 Apache Kafka 공식 사이트에서 다운로드할 수 있습니다.

Kafka 2.0.0 다운로드 링크

2️⃣ Dockerfile 작성

Kafka를 실행하는 Dockerfile을 작성합니다.

1
2
3
4
5
6
7
8
FROM java:8
RUN mkdir /app
WORKDIR /app
RUN curl https://archive.apache.org/dist/kafka/2.0.0/kafka_2.12-2.0.0.tgz | tar xvz
WORKDIR /app/kafka_2.12-2.0.0
RUN sed -i "s/zookeeper\.connect=.*/zookeeper\.connect=zookeeper:2181/g" config/server.properties
RUN sed -i "s/#advertised\.listeners=.*/advertised\.listeners=PLAINTEXT:\/\/host.docker.internal:9092/g" config/server.properties
ENTRYPOINT [ "bin/kafka-server-start.sh", "config/server.properties" ]

3️⃣ Docker 이미지 빌드

1
docker build -t my-kafka .

4️⃣ Kafka 컨테이너 실행

1
docker run --name kafka -p 9092:9092 -d my-kafka

🛠 Kafka 설정 설명

Zookeeper 연결 설정

  • Kafka는 Zookeeper를 필요로 하므로 server.properties 파일에서 zookeeper.connect 값을 수정해야 합니다.
  • Zookeeper는 별도의 컨테이너로 실행하는 것이 일반적입니다.

Kafka 네트워크 설정

  • advertised.listeners 값을 host.docker.internal:9092로 설정하면, 로컬 머신에서도 Kafka에 접근할 수 있습니다.
  • PLAINTEXT://host.docker.internal:9092 값은 Docker 내부에서 외부 네트워크를 통해 Kafka에 접근하도록 만듭니다.

🔗 참고 자료

🔚 결론

Docker를 이용해 Kafka를 설치하면 로컬 개발 환경에서 분산 메시징 시스템을 쉽게 테스트할 수 있습니다. 🚀

Author

Hamin Lee

Posted on

2022-03-19

Updated on

2022-03-24

Licensed under

You need to set install_url to use ShareThis. Please set it in _config.yml.
You forgot to set the business or currency_code for Paypal. Please set it in _config.yml.

Comments

You forgot to set the shortname for Disqus. Please set it in _config.yml.
You need to set client_id and slot_id to show this AD unit. Please set it in _config.yml.