[241204 TIL]
프로젝트 관리 심화
대규모 스트림 처리 강의
⚠️ 트러블슈팅 ⚠️
1. 문제 정의
Kafka 실습 중 Docker Compose로 Kafka 환경을 구성했으나, Kafka UI에서 클러스터가 Offline 상태로 표시되고 정상적으로 동작하지 않음.
2. 원인 추론
- Docker 이미지 아키텍처 문제
- Docker Desktop에서 "image may have poor performance, or fail if run via emulation" 경고 메시지가 출력됨.
- 이는 Docker 이미지가 호스트 아키텍처와 일치하지 않아 발생.
- Kafka UI 타임아웃 문제
- Kafka UI 이미지를 다운로드하는 과정에서 TLS handshake timeout 오류 발생.
- 네트워크 문제 또는 Docker Hub와의 연결 문제로 인해 이미지 다운로드 실패.
- Docker Compose 설정 문제
- 기존 docker-compose.yml 파일이 AMD64 아키텍처용 이미지로 구성되어 ARM64 호스트 시스템에서 실행 불가.
3. 해결 방안 및 결과
1) 호스트 아키텍처 확인
- uname -m 명령어를 실행하여 호스트 시스템 아키텍처를 확인:
uname -m
- 출력 결과: arm64
→ 호스트 시스템이 ARM64 아키텍처임을 확인.
2) Docker Compose 이미지 교체
- 기존 Docker Compose 파일에서 AMD64 전용 이미지를 ARM64 지원 이미지로 교체.
변경된 Docker Compose 파일:
version: '3.8'
services:
zookeeper:
image: confluentinc/cp-zookeeper:latest
platform: linux/arm64
ports:
- "2181:2181"
environment:
ZOOKEEPER_CLIENT_PORT: 2181
ZOOKEEPER_TICK_TIME: 2000
kafka:
image: confluentinc/cp-kafka:latest
platform: linux/arm64
ports:
- "9092:9092"
environment:
KAFKA_ADVERTISED_LISTENERS: INSIDE://kafka:29092,OUTSIDE://localhost:9092
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: INSIDE:PLAINTEXT,OUTSIDE:PLAINTEXT
KAFKA_LISTENERS: INSIDE://0.0.0.0:29092,OUTSIDE://0.0.0.0:9092
KAFKA_INTER_BROKER_LISTENER_NAME: INSIDE
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
kafka-ui:
image: provectuslabs/kafka-ui:latest
platform: linux/arm64
ports:
- "8080:8080"
environment:
KAFKA_CLUSTERS_0_NAME: local
KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS: kafka:29092
KAFKA_CLUSTERS_0_ZOOKEEPER: zookeeper:2181
KAFKA_CLUSTERS_0_READONLY: "false"
3) Kafka UI 이미지 수동 다운로드
- Kafka UI 다운로드 시 타임아웃 오류 해결을 위해 수동으로 이미지를 다운로드:
docker pull provectuslabs/kafka-ui:latest
- 수동 다운로드 완료 후, docker-compose up 명령어로 다시 실행.
결과
- Kafka UI에서 클러스터가 Online 상태로 표시됨.
- Zookeeper, Kafka, Kafka UI 모두 ARM64 환경에서 정상 실행.
- Kafka 실습을 성공적으로 진행 가능.
'[내일배움캠프] AI 를 활용한 백엔드 아카데미 심화 과정 > TIL' 카테고리의 다른 글
[Github] 템플릿 설정하기 (0) | 2024.12.06 |
---|---|
REST API, Spring Security, JPA 연관관계와 영속성 컨텍스트 정리 (2) | 2024.12.06 |
MSA 개인 프로젝트 (2) (0) | 2024.12.06 |
MSA 개인 프로젝트 (1) (1) | 2024.12.06 |
캐싱(Caching), 캐싱의 필요성, 캐싱 전략 (1) | 2024.11.29 |