Kafka 설치해보기

목표

docker 카프카 RKaft 모드(no zookeepler) server 만들기

과정

  1. 윈도우 wsl 우분투 설치
  2. 카프카 docker pull 하기
  3. 카프카 실행시키기
  4. 메세지 보내보기

윈도우에 리눅스 설치

  1. 윈도우 기능 켜기 끄기에서 linux용 하위 시스템 활성화
  1. wsl -l -o 입력하여 설치 가능한 배포 확인
  2. wsl –install [배포판]으로 설치
  3. wsl 입력해서 가상 리눅스로 접속

카프카 설치

  1. docker pull bitnami/kafka:latest
  2. docker-compose.yml 설정 파일 생성
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
version: '3.8'

services:
kafka-server:
image: bitnami/kafka:3.3.2 # 해당 이미지 버전에 맞게 입력
container_name: kafka-server
hostname: kafka-server
#network_mode: app-tier
environment:
- KAFKA_CFG_NODE_ID=0
- KAFKA_CFG_PROCESS_ROLES=controller,broker
- KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093
- KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT
- KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=0@kafka-server:9093
- KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER
ports:
- "9092:9092" # 외부와 통신할 PLAINTEXT 포트
- "9093:9093" # 컨트롤러 포트
volumes:
- /data/kafka-server:/var/lib/kafka/data # 데이터 저장소 (필요시 수정)
restart: always

kafka-ui:
image: provectuslabs/kafka-ui
container_name: kafka-ui
ports:
- "8080:8080"
restart: always
environment:
KAFKA_CLUSTERS_0_NAME: ${PROFILE:-local} # Kafka 클러스터 이름 설정
KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS: kafka-server:9092 # `kafka-server` 서비스에 연결
depends_on:
- kafka-server # `kafka-server` 컨테이너가 실행된 후 `kafka-ui` 실행
  1. docker-compose up -d 입력 (도커 컨테이너 생성)

메세지 테스트

  1. docker exec -it kafka-server bash 입력 (도커 컨테이너 접속)
  2. kafka-topics.sh –bootstrap-server localhost:9092 –create –topic test –partitions 1 –replication-factor 1 입력 (토픽 생성)
  3. kafka-console-producer.sh –broker-list localhost:9092 –topic test (메세지 보내보기)
  4. http://localhost:8080/ui/clusters/local/all-topics/test/messages?keySerde=String&valueSerde=String&limit=100 (메세지 확인)

참고

Author

HyunSuk

Posted on

2024-11-17

Updated on

2024-11-17

Licensed under

댓글