9.6. 전용 모드에서 MirrorMaker 2 실행


구성을 통해 Kafka 클러스터 간에 데이터를 동기화하려면 MirrorMaker 2를 사용합니다. 다음 절차에서는 전용 단일 노드 MirrorMaker 2 클러스터를 구성하고 실행하는 방법을 보여줍니다. 전용 클러스터는 Kafka Connect 작업자 노드를 사용하여 Kafka 클러스터 간에 데이터를 미러링합니다.

참고

분산 모드에서 MirrorMaker 2를 실행할 수도 있습니다. MirrorMaker 2는 전용 모드 및 분산 모드에서 커넥터로 작동합니다. 전용 MirrorMaker 클러스터를 실행할 때 커넥터는 Kafka Connect 클러스터에 구성됩니다. 결과적으로 Kafka Connect 클러스터에 직접 액세스하고 추가 커넥터를 실행하고 REST API를 사용할 수 있습니다. 자세한 내용은 Apache Kafka 설명서를 참조하십시오.

구성은 다음을 지정해야 합니다.

  • 각 Kafka 클러스터
  • TLS 인증을 포함하여 각 클러스터에 대한 연결 정보
  • 복제 흐름 및 방향

    • 클러스터 간 클러스터
    • 주제 주제
  • 복제 규칙
  • 커밋된 오프셋 추적 간격

다음 절차에서는 속성 파일에서 구성을 만든 다음 MirrorMaker 스크립트 파일을 사용하여 연결을 설정할 때 속성을 전달하여 MirrorMaker 2를 구현하는 방법을 설명합니다.

소스 클러스터에서 복제할 주제 및 소비자 그룹을 지정할 수 있습니다. 소스 및 대상 클러스터의 이름을 지정한 다음 복제할 주제 및 소비자 그룹을 지정합니다.

다음 예에서 클러스터 1에서 2까지의 복제를 위해 주제 및 소비자 그룹이 지정됩니다.

특정 주제 및 소비자 그룹을 복제하는 구성의 예

clusters=cluster-1,cluster-2
cluster-1->cluster-2.topics = topic-1, topic-2
cluster-1->cluster-2.groups = group-1, group-2

이름 목록을 제공하거나 정규식을 사용할 수 있습니다. 이러한 속성을 설정하지 않으면 기본적으로 모든 주제 및 소비자 그룹이 복제됩니다. 정규식으로 .* 를 사용하여 모든 주제 및 소비자 그룹을 복제할 수도 있습니다. 그러나 클러스터에 불필요한 추가 로드를 유발하지 않도록 하는 데 필요한 주제 및 소비자 그룹만 지정합니다.

사전 준비 사항

샘플 구성 속성 파일은 ./config/connect-mirror-maker.properties 로 제공됩니다.

사전 요구 사항

프로세스

  1. 텍스트 편집기에서 샘플 속성 파일을 열거나 새 파일을 생성하고 각 Kafka 클러스터의 연결 정보 및 복제 흐름을 포함하도록 파일을 편집합니다.

    다음 예제에서는 두 클러스터, cluster-1cluster-2 를 양방향으로 연결하는 구성을 보여줍니다. 클러스터 이름은 클러스터 속성을 통해 구성할 있습니다.

    MirrorMaker 2 구성의 예

    clusters=cluster-1,cluster-2 
    1
    
    
    cluster-1.bootstrap.servers=<cluster_name>-kafka-bootstrap-<project_name_one>:443 
    2
    
    cluster-1.security.protocol=SSL 
    3
    
    cluster-1.ssl.truststore.password=<truststore_name>
    cluster-1.ssl.truststore.location=<path_to_truststore>/truststore.cluster-1.jks_
    cluster-1.ssl.keystore.password=<keystore_name>
    cluster-1.ssl.keystore.location=<path_to_keystore>/user.cluster-1.p12
    
    cluster-2.bootstrap.servers=<cluster_name>-kafka-bootstrap-<project_name_two>:443 
    4
    
    cluster-2.security.protocol=SSL 
    5
    
    cluster-2.ssl.truststore.password=<truststore_name>
    cluster-2.ssl.truststore.location=<path_to_truststore>/truststore.cluster-2.jks_
    cluster-2.ssl.keystore.password=<keystore_name>
    cluster-2.ssl.keystore.location=<path_to_keystore>/user.cluster-2.p12
    
    cluster-1->cluster-2.enabled=true 
    6
    
    cluster-2->cluster-1.enabled=true 
    7
    
    cluster-1->cluster-2.topics=.* 
    8
    
    cluster-2->cluster-1.topics=topic-1, topic-2 
    9
    
    cluster-1->cluster-2.groups=.* 
    10
    
    cluster-2->cluster-1.groups=group-1, group-2 
    11
    
    
    replication.policy.separator=- 
    12
    
    sync.topic.acls.enabled=false 
    13
    
    refresh.topics.interval.seconds=60 
    14
    
    refresh.groups.interval.seconds=60 
    15

    1
    각 Kafka 클러스터는 별칭으로 식별됩니다.
    2
    부트스트랩 주소 와 포트 443 을 사용하는 cluster-1 에 대한 연결 정보입니다. 두 클러스터 모두 포트 443 을 사용하여 OpenShift 경로를 사용하여 Kafka에 연결합니다.
    3
    ssl. 속성은 cluster-1 에 대한 TLS 구성을 정의합니다.
    4
    cluster-2 에 대한 연결 정보입니다.
    5
    ssl. 속성은 cluster-2 에 대한 TLS 구성을 정의합니다.
    6
    cluster-1 에서 cluster-2 로 복제 흐름이 활성화됩니다.
    7
    cluster-2 에서 cluster-1 로 복제 흐름이 활성화됩니다.
    8
    cluster-1 에서 cluster-2 로 모든 주제를 복제합니다. 소스 커넥터는 지정된 항목을 복제합니다. 체크포인트 커넥터는 지정된 항목에 대한 오프셋을 추적합니다.
    9
    cluster-2 에서 cluster-1 로 특정 주제의 복제.
    10
    cluster-1 에서 cluster-2 로 모든 소비자 그룹을 복제합니다. 체크포인트 커넥터는 지정된 소비자 그룹을 복제합니다.
    11
    cluster-2 에서 cluster-1 로 특정 소비자 그룹의 복제.
    12
    원격 주제의 이름 변경에 사용되는 구분자를 정의합니다.
    13
    활성화하면 ACL이 동기화된 항목에 적용됩니다. 기본값은 false입니다.
    14
    새 주제를 동기화할지 확인하는 기간입니다.
    15
    새 소비자 그룹이 동기화되는지 확인하는 기간입니다.
  2. OPTION: 필요한 경우 원격 주제의 자동 이름을 재정의하는 정책을 추가합니다. 소스 클러스터 이름이 있는 이름을 보류하는 대신 주제는 원래 이름을 유지합니다.

    이 선택적 설정은 활성/수동 백업 및 데이터 마이그레이션에 사용됩니다.

    replication.policy.class=org.apache.kafka.connect.mirror.IdentityReplicationPolicy
  3. OPTION: 소비자 그룹 오프셋을 동기화하려면 구성을 추가하여 동기화를 활성화하고 관리합니다.

    refresh.groups.interval.seconds=60
    sync.group.offsets.enabled=true 
    1
    
    sync.group.offsets.interval.seconds=60 
    2
    
    emit.checkpoints.interval.seconds=60 
    3
    1
    활성/수동 구성의 복구에 유용한 소비자 그룹 오프셋을 동기화하는 선택적 설정입니다. 동기화는 기본적으로 활성화되어 있지 않습니다.
    2
    소비자 그룹 오프셋의 동기화가 활성화된 경우 동기화 빈도를 조정할 수 있습니다.
    3
    오프셋 추적의 검사 빈도를 조정합니다. 오프셋 동기화의 빈도를 변경하는 경우 이러한 검사의 빈도를 조정해야 할 수도 있습니다.
  4. 대상 클러스터에서 Kafka를 시작합니다.

    /opt/kafka/bin/kafka-server-start.sh -daemon \
    /opt/kafka/config/kraft/server.properties
  5. 속성 파일에 정의된 클러스터 연결 구성 및 복제 정책으로 MirrorMaker를 시작합니다.

    /opt/kafka/bin/connect-mirror-maker.sh \
    /opt/kafka/config/connect-mirror-maker.properties

    MirrorMaker는 클러스터 간 연결을 설정합니다.

  6. 각 대상 클러스터에서 주제가 복제되고 있는지 확인합니다.

    /opt/kafka/bin/kafka-topics.sh --bootstrap-server <broker_host>:<port> --list
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 소개

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

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

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

Red Hat 문서 정보

Legal Notice

Theme

© 2026 Red Hat
맨 위로 이동