목표
docker 카프카 RKaft 모드(no zookeepler) server 만들기
과정
- 윈도우 wsl 우분투 설치
- 카프카 docker pull 하기
- 카프카 실행시키기
- 메세지 보내보기
윈도우에 리눅스 설치
- 윈도우 기능 켜기 끄기에서 linux용 하위 시스템 활성화
- wsl -l -o 입력하여 설치 가능한 배포 확인
- wsl –install [배포판]으로 설치
- wsl 입력해서 가상 리눅스로 접속
카프카 설치
- docker pull bitnami/kafka:latest
- 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 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" - "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_CLUSTERS_0_BOOTSTRAPSERVERS: kafka-server:9092 depends_on: - kafka-server
|
- docker-compose up -d 입력 (도커 컨테이너 생성)
메세지 테스트
- docker exec -it kafka-server bash 입력 (도커 컨테이너 접속)
- kafka-topics.sh –bootstrap-server localhost:9092 –create –topic test –partitions 1 –replication-factor 1 입력 (토픽 생성)
- kafka-console-producer.sh –broker-list localhost:9092 –topic test (메세지 보내보기)
- http://localhost:8080/ui/clusters/local/all-topics/test/messages?keySerde=String&valueSerde=String&limit=100 (메세지 확인)
참고