피드로 돌아가기
Deploying Kafka Distributed Event Streaming on Ubuntu 24.04
Dev.toDev.to
Infrastructure

ZooKeeper 제거한 KRaft 모드 기반 Kafka 4.1.1 단일 노드 구축

Deploying Kafka Distributed Event Streaming on Ubuntu 24.04

Sanskriti Harmukh2026년 6월 2일3beginner

Context

기존 Kafka 아키텍처의 ZooKeeper 의존성으로 인한 운영 복잡도와 관리 포인트 증가 문제 분석. 분산 메타데이터 관리를 내부 쿼럼으로 대체하여 인프라 단순화를 추구하는 설계 방향성 제시.

Technical Solution

  • KRaft 모드 채택을 통한 ZooKeeper 완전 제거 및 메타데이터 관리 통합 구조 설계
  • Docker Compose 환경에서 Broker와 Controller 역할을 단일 노드에 병합하여 리소스 효율성 극대화
  • UUID 기반 Cluster ID 생성을 통한 노드 식별 및 클러스터 무결성 확보
  • Local Directory 바인딩을 통한 Persistent Storage 구성으로 컨테이너 재시작 시 데이터 영속성 보장
  • Healthcheck API 설정을 통한 서비스 가동 상태의 자동 검증 및 안정적 오케스트레이션 구현
  • Partition 3개 설정을 통한 메시지 처리 병렬성 확보 및 기본 Replication Factor 1 설정을 통한 단일 노드 최적화

1. KRaft 모드 도입 시 Cluster ID 생성 및 .env 환경 변수 매핑 일치 여부 확인

2. 단일 노드 테스트 환경에서 Replication Factor를 1로 설정하여 기동 실패 방지

3. /kafka/data 경로의 호스트 권한(1000:1000) 설정으로 볼륨 마운트 권한 문제 사전 차단

4. 프로덕션 확장 시 SASL/SSL 리스너 추가 및 Replication Factor 상향 조정 검토

원문 읽기