Don't think! Just do it!

종합 IT 기술 정체성 카오스 블로그! 이... 이곳은 어디지?

Server services/Docker

[Docker] Docker desktop + kafka + zookeeper + kafka ui

방피터 2023. 6. 25. 21:32

도커에 대한 설명?

구글링 해보면

"경량화된 가상화 서버"라는 말을 어렵고 유식하게 설명해 놓은 글이 차고 넘치니

아무거나 읽어보는 척하면서 스크롤 죽죽 당기자.

 

왠지 이런 툴들은 리눅스 기반에서 탄생했고..

막 linux 터미널에서 커맨드로 막 설정하고 막 ㅋㅋㅋㅋ

괜히 짜증나니까 GUI 찾아보면 ㅋ

!! 바로 있네

Docker desktop

👇👇👇

https://www.docker.com/products/docker-desktop/

 

Download Docker Desktop | Docker

Docker Desktop is available to download for free on Mac, Windows, or Linux operating systems. Get started with Docker today!

www.docker.com

운영 체제에 맞게 설치하자.

난 Mac이므로 아래와 같이.

👇👇

다운로드하고 드레그 하면 끝.

직원이 250명 넘고 연간 매출 $10 million보다 작으면 공짜라고..

돈좀 내고 써봤으면 소원이 없겠다. 

서비스 약관 동의하시고

자신없으면 recommended 설정 사용하시고

기본 설정으로 놔두고

설문 조사 응해주시고~

대강 설문 조사 응해주시고

그러면 따란~ 설치는 끝이네.

따란!

그럼 본격적으로 도커에 kafka를 올려보자구!

kafka 구축에 필요한 건 총 3가지.

1. kafka: 당..연하지!

2. kafka ui: 카프카 상태 볼 수 있는 UI 툴

3. zookeeper: 분산처리해주는 놈.

 

그럼 도커에 올릴 이미지를 찾아보자.

docker desktop 검색창에서 검색해보자.

먼저 kafka로 검색해보면 

다운로드 많은 순서대로 나오는데 인기 많은게 일반적인거겠지?

Pull 버튼 눌러서 다운로드 하자.

bitnami/kafka가 일등!


다음은 kafka-ui

provectuslabs/kafka-ui 당첨!

provectuslabs/kafka-ui


마지막 zookeeper!

기본 zookeeper가 가장 인기가 많지만

kafka랑 똑같이 binami 걸로 선택해줄게.

binami/zookeeper
다운로드된 image

전부 다운로드를 받았으면

설정하고 가상머신 돌리면 되겠구만!

하나씩 하면 귀찮으니까

docker-compose에서 이 3개를 한번에 묶어서 구성해보자구.

먼저 docker-compose 파일을 아무데나 만들고!

(나는 workspace 폴더에 docker 폴더 하나 만들고 거기에서 했음)

👇👇👇

services:
  zookeeper:
    image: bitnami/zookeeper:latest
    container_name: zookeeper
    ports:
      - 2181:2181
    environment:
      - ALLOW_ANONYMOUS_LOGIN=yes

  kafka:
    image: bitnami/kafka:latest
    container_name: kafka
    depends_on:
      - zookeeper
    ports:
      - 9092:9092
      - 9094:9094
    environment:
      - ALLOW_PLAINTEXT_LISTENER=yes
      - KAFKA_ENABLE_KRAFT=no
      - KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE=true
      - KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper:2181
      - KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093,EXTERNAL://:9094
      - KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://kafka:9092,EXTERNAL://localhost:9094
      - KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT,EXTERNAL:PLAINTEXT,PLAINTEXT:PLAINTEXT

  kafka-ui:
    image: provectuslabs/kafka-ui:latest
    container_name: kafka-ui
    depends_on:
      - kafka
    ports:
      - 8080:8080
    environment:
      - DYNAMIC_CONFIG_ENABLED=true
      - KAFKA_CLUSTERS_0_NAME=peters_kafka
      - KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS=kafka:9092

 

각 설정들은 인터넷 검색해서 막 집어넣지 말고!

1. 도커 허브가서!

2. 사용할 이미지 검색!

3. 거기에 정의된 설정 이름을 사용하라구.

특히 environment는 말야!!

제발~~~~~

docker hub에 각 도커 이미지 설정을 어떻게 해야하는지 매우 잘 나와 있어!!!

kafka-ui는 공홈에 잘 나와 있구 ㅎ

https://docs.kafka-ui.provectus.io/configuration/configuration-wizard

 

Configuration wizard - UI for Apache Kafka

Note, that if the container is recreated, your edited (and uploaded) files won't be present and the app will be started with static configuration only. If you want to be able to keep the configuration created by wizard, you have to mount/copy the same file

docs.kafka-ui.provectus.io

설정이 올바르게 다 되었으면

docker-compose up -d --force-recreate

명령으로 docker 올려버렷!

docker-compose up!
도커들이 실행되고 있어!!

이제 localhost:8080으로 접속해서

kafka가 정상적으로 동작중인지 확인해바바

kafka가 잘 동작하는 걸 kafka-ui를 통해 확인할 수 있어.

자 잘 동작하는 구만.

이제 메세지를 잘 주고 받는지 확인해볼 차례인데 ㅋㅋ

너어어어무 길다 ㅋ

다음 시간에 이어서 하자 ㅋㅋ

반응형

'Server services > Docker' 카테고리의 다른 글

[Docker] Local Redis cluster  (0) 2023.10.24
[Docker] Docker에 대한 글쓰기 전 뻘글.  (0) 2023.06.13