Search
🙈

cp-kafka kraft 클러스트 구성

Intro::

version: "3.8" services: broker-1: image: confluentinc/cp-kafka:latest container_name: broker-1 ports: - "29092:9092" environment: KAFKA_PROCESS_ROLES: broker,controller KAFKA_NODE_ID: 1 KAFKA_CONTROLLER_QUORUM_VOTERS: 1@broker-1:9093,2@broker-2:9093,3@broker-3:9093 KAFKA_CONTROLLER_LISTENER_NAMES: CONTROLLER KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT KAFKA_LISTENERS: 'PLAINTEXT://:19092,PLAINTEXT_HOST://:9092,CONTROLLER://:9093' KAFKA_ADVERTISED_LISTENERS: 'PLAINTEXT://broker-1:19092,PLAINTEXT_HOST://localhost:29092' KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT KAFKA_LOG_DIRS: /var/lib/kafka/data CLUSTER_ID: i09kt37vQ9iubJY1A9aZgg volumes: - broker1-data:/var/lib/kafka/data broker-2: image: confluentinc/cp-kafka:latest container_name: broker-2 ports: - "39092:9092" environment: KAFKA_PROCESS_ROLES: broker,controller KAFKA_NODE_ID: 2 KAFKA_CONTROLLER_QUORUM_VOTERS: 1@broker-1:9093,2@broker-2:9093,3@broker-3:9093 KAFKA_CONTROLLER_LISTENER_NAMES: CONTROLLER KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT KAFKA_LISTENERS: 'PLAINTEXT://:19092,PLAINTEXT_HOST://:9092,CONTROLLER://:9093' KAFKA_ADVERTISED_LISTENERS: 'PLAINTEXT://broker-2:19092,PLAINTEXT_HOST://localhost:39092' KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT KAFKA_LOG_DIRS: /var/lib/kafka/data CLUSTER_ID: i09kt37vQ9iubJY1A9aZgg volumes: - broker2-data:/var/lib/kafka/data broker-3: image: confluentinc/cp-kafka:latest container_name: broker-3 ports: - "49092:9092" environment: KAFKA_PROCESS_ROLES: broker,controller KAFKA_NODE_ID: 3 KAFKA_CONTROLLER_QUORUM_VOTERS: 1@broker-1:9093,2@broker-2:9093,3@broker-3:9093 KAFKA_CONTROLLER_LISTENER_NAMES: CONTROLLER KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT KAFKA_LISTENERS: 'PLAINTEXT://:19092,PLAINTEXT_HOST://:9092,CONTROLLER://:9093' KAFKA_ADVERTISED_LISTENERS: 'PLAINTEXT://broker-3:19092,PLAINTEXT_HOST://localhost:49092' KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT KAFKA_LOG_DIRS: /var/lib/kafka/data CLUSTER_ID: i09kt37vQ9iubJY1A9aZgg volumes: - broker3-data:/var/lib/kafka/data kafka-init: image: confluentinc/cp-kafka:latest container_name: kafka-init depends_on: - broker-1 - broker-2 - broker-3 volumes: - ./scripts:/opt/kafka/scripts entrypoint: [ "sh", "/opt/kafka/scripts/init-kafka.sh" ] volumes: broker1-data: broker2-data: broker3-data:
Plain Text
복사
CLUSTER_ID 의 경우 카프카 컨테이너에서 다음과 같은 명령어를 통해 생성할 수 있다.
kafka-storage random-uuid
Plain Text
복사

References::