6.6. Kafka MirrorMaker 배포


Kafka MirrorMaker는 데이터 센터 내의 두 개 이상의 Kafka 클러스터 간에 데이터를 복제합니다. 이 프로세스를 Kafka 파티션 복제 개념과 혼동하지 않도록 미러링이라고 합니다. MirrorMaker는 소스 클러스터의 메시지를 사용하고 해당 메시지를 대상 클러스터에 다시 게시합니다.

클러스터 간에 데이터 복제는 다음이 필요한 시나리오를 지원합니다.

  • 시스템 장애 발생 시 데이터 복구
  • 중앙 집중식 분석을 위해 여러 소스 클러스터에서 데이터 통합
  • 특정 클러스터에 대한 데이터 액세스 제한
  • 대기 시간을 개선하기 위해 특정 위치에서 데이터 제공

6.6.1. OpenShift 클러스터에 Kafka MirrorMaker 배포

다음 절차에서는 Cluster Operator를 사용하여 Kafka MirrorMaker 클러스터를 OpenShift 클러스터에 배포하는 방법을 보여줍니다.

배포에서는 YAML 파일을 사용하여 배포된 MirrorMaker 버전에 따라 KafkaMirrorMaker 또는 KafkaMirrorMaker2 리소스를 생성하는 사양을 제공합니다. MirrorMaker 2는 Kafka Connect를 기반으로 하며 구성 속성을 사용합니다.

중요

Kafka MirrorMaker 1 (문서에서 MirrorMaker 라고도 함)은 Apache Kafka 3.0.0에서 더 이상 사용되지 않으며 Apache Kafka 4.0.0에서 제거됩니다. 결과적으로 Kafka MirrorMaker 1을 배포하는 데 사용되는 KafkaMirrorMaker 사용자 정의 리소스는 Apache Kafka용 Streams에서도 더 이상 사용되지 않습니다. KafkaMirrorMaker 리소스는 Apache Kafka 4.0.0을 채택할 때 Apache Kafka용 Streams에서 제거됩니다. 대신 KafkaMirrorMaker2 사용자 정의 리소스를 IdentityReplicationPolicy 와 함께 사용합니다.

Apache Kafka의 스트림은 구성 파일 예제 를 제공합니다. 이 절차에서는 다음 예제 파일을 사용합니다.

  • examples/mirror-maker/kafka-mirror-maker.yaml
  • examples/mirror-maker/kafka-mirror-maker-2.yaml
중요

동일한 대상 Kafka 클러스터를 사용하여 병렬로 실행되도록 MirrorMaker 2 클러스터를 배포하는 경우 각 인스턴스에서 내부 Kafka Connect 항목에 고유한 이름을 사용해야 합니다. 이렇게 하려면 기본값을 대체하도록 각 MirrorMaker 2 인스턴스를 구성합니다.

프로세스

  1. Kafka MirrorMaker를 OpenShift 클러스터에 배포합니다.

    MirrorMaker의 경우:

    oc apply -f examples/mirror-maker/kafka-mirror-maker.yaml
    Copy to Clipboard Toggle word wrap

    MirrorMaker 2:

    oc apply -f examples/mirror-maker/kafka-mirror-maker-2.yaml
    Copy to Clipboard Toggle word wrap
  2. 배포 상태를 확인합니다.

    oc get pods -n <my_cluster_operator_namespace>
    Copy to Clipboard Toggle word wrap

    출력에 배포 이름 및 준비 상태 표시

    NAME                                    READY  STATUS   RESTARTS
    my-mirror-maker-mirror-maker-<pod_id>   1/1    Running  1
    my-mm2-cluster-mirrormaker2-<pod_id>    1/1    Running  1
    Copy to Clipboard Toggle word wrap

    my-mirror-maker 는 Kafka MirrorMaker 클러스터의 이름입니다. my-mm2-cluster 는 Kafka MirrorMaker 2 클러스터의 이름입니다.

    Pod ID는 생성된 각 pod를 식별합니다.

    기본 배포를 사용하면 단일 MirrorMaker 또는 MirrorMaker 2 Pod를 설치합니다.

    READY 는 ready/expected 복제본 수를 표시합니다. STATUSRunning 으로 표시되면 배포가 성공적으로 수행됩니다.

6.6.2. Kafka MirrorMaker 2 클러스터 리소스 목록

다음 리소스는 OpenShift 클러스터의 Cluster Operator에 의해 생성됩니다.

<mirrormaker2_cluster_name>-mirrormaker2

다음 MirrorMaker 2 리소스에 지정된 이름입니다.

  • MirrorMaker 2 작업자 노드 Pod를 생성하는 StrimziPodSet.
  • MirrorMaker 2 Pod에 안정적인 DNS 이름을 제공하는 헤드리스 서비스입니다.
  • MirrorMaker 2 Pod에서 사용하는 서비스 계정입니다.
  • MirrorMaker 2 작업자 노드에 대해 구성된 Pod 중단 예산입니다.
  • MirrorMaker 2 REST API에 대한 액세스를 관리하는 네트워크 정책입니다.
<mirrormaker2_cluster_name>-mirrormaker2-<pod_id>
MirrorMaker 2 StrimziPodSet에서 생성된 Pod
<mirrormaker2_cluster_name>-mirrormaker2-api
MirrorMaker 2 클러스터를 관리하기 위해 REST 인터페이스를 노출하는 서비스입니다.
<mirrormaker2_cluster_name>-mirrormaker2-config
MirrorMaker 2 보조 구성이 포함되어 있으며 MirrorMaker 2 Pod에서 볼륨으로 마운트되는 ConfigMap입니다.
strimzi-<namespace-name>-<mirrormaker2_cluster_name>-mirrormaker2-init
MirrorMaker 2 클러스터에서 사용하는 클러스터 역할 바인딩입니다.

6.6.3. Kafka MirrorMaker 클러스터 리소스 목록

다음 리소스는 OpenShift 클러스터의 Cluster Operator에 의해 생성됩니다.

<mirrormaker_cluster_name>-mirror-maker

다음 MirrorMaker 리소스에 지정된 이름입니다.

  • MirrorMaker Pod 생성을 담당하는 배포입니다.
  • MirrorMaker 노드에서 사용하는 서비스 계정입니다.
  • MirrorMaker 작업자 노드에 대해 구성된 Pod 중단 예산입니다.
<mirrormaker_cluster_name>-mirror-maker-config
MirrorMaker의 보조 구성이 포함된 ConfigMap은 MirrorMaker Pod에서 볼륨으로 마운트됩니다.
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat