터칭 데이터 2024. 1. 24. 17:53

 

 

3. Kafka 소개


Kafka가 무엇인지 소개하는 시간을 가져보자

 

 

 

 

 

 

 

Contents


1. Kafka 역사
2. Kafka 소개
3. Kafka 아키텍처
4. Kafka 중요 개념
5. Kafka 설치
6. Kafka Python 프로그래밍

 

 

 

 

 

 

 

 

 

 

Kafka 설치

Docker를 이용해서 Kafka를 설치해보자

 

 

 

 

 

 

 

 

Kafka 설치 방식

 

Docker Compose 사용

○ Docker Desktop을 먼저 실행할 것

 

아래 Github repo 사용

○ https://github.com/conduktor/kafka-stack-docker-compose

    ■ 다양한 yml 파일들이 존재
        ● full-stack.yml (실습 영상에서 사용)
        ● zk-single-kafka-single.yml
        ● zk-single-kafka-multiple.yml
        ● zk-multiple-kafka-single.yml
        ● zk-multiple-kafka-multiple.yml

○ conduktor는 Kafka를 관리하기 쉽게 해주는 웹 콘솔입니다.

 

 

 

 

 

 

 

 

 

 

 

 

Kafka 설치 과정 - Docker Compose 사용

 

git clone https://github.com/conduktor/kafka-stack-docker-compose.git

 

cd kafka-stack-docker-compose

 

docker compose -f full-stack.yml up

○ 컴퓨터 사양이 좋은 경우 full-stack.yml을 사용
○ 아니면 zk-single-kafka-single.yml이나 zk-single-kafka-multiple.yml을 사용

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Kafka 설치 과정 - Docker Compose yaml 파일 확인

version: '2.1'
services:
  zoo1:
  kafka1:
  kafka-schema-registry:
  kafka-rest-proxy:
  kafka-connect:
  ksqldb-server:
  conduktor-platform:
volumes:

 

services에서 혼자 빨간색이 아닌 conduktor-platform은 Kafka 오픈소스가 아닌 conduktor라는 회사에서 만든 Web UI 콘솔입니다.

 

 

 

 

 

 

 

 

 

 

Kafka 설치 과정 - Docker Desktop 화면

 

 

 

 

 

 

 

 

 

 

 

 

 

Kafka 설치 과정 - Kafka 웹 콘솔 보기

 

 

로그인 정보:
● ID: admin@admin.io
● Password: admin

 

 

 

 

 

 

 

 

 

 

 

 

Kafka 설치 데모

앞서 내용을 실제로 데모해보자

 

 

 

 

PS D:\dev_KDT\kafka> git clone https://github.com/conduktor/kafka-stack-docker-compose.git

 

저는 D드라이브의 dev_KDT 디렉토리의 kafka 디렉토리에서 git clone으로 다운을 받았습니다.

 

 

 

PS D:\dev_KDT\kafka\kafka-stack-docker-compose> docker compose -f full-stack.yml up

 

저희가 사용할 full-stack을 docker 명령어로 up합니다.

 

설치에 시간이 다소 오래 걸립니다.

 

 

 

 

 

 

 

Conduktor Web UI를 http://localhost:8080/를 통해 방문합니다.

 

로그인 정보:
● ID: admin@admin.io
● Password: admin

 

만일 로딩이 끝나지 않는다면 다시 docker up한 뒤 재실행합니다.

 

 

 

 

좌측의 CONSOLE 탭에서 Topic을 비롯해 우리가 배운 여러 Kafka의 컴포넌트들을 살펴볼 수 있습니다.

 

 

 

 

 

 

 

Topic에서는 3개의 Kafka 클러스터가 기본으로 제공하는 샘플 토픽들이 보입니다.

 

 

 

 

 

 

 

 

 

Broker도 현재는 자동으로 같이 설치된 1개 밖에 없습니다.

 

우리가 실습 중인 Kafka는 개발용, 테스트용 Kafka 클러스터이기 때문에 Zookeeper를 쓰고 있는데 Zookeeper 노드도 1개, Broker도 1개인 작은 규모이지만 학습과 코드 테스트 용도에는 적합합니다.