이 문서에서는 MirrorMaker 2.0 커넥터를 사용할 때 발생하는 일반적인 문제에 대한 문제 해결 안내를 제공합니다.
일반적인 MirrorMaker 2.0 오류
이 섹션에서는 MirrorMaker 2.0 커넥터를 사용할 때 표시될 수 있는 일반적인 오류를 나열합니다.
노드 할당을 기다리는 동안 타임아웃됨
Connect 클러스터가 Kafka 클러스터에 액세스할 수 없는 경우 다음 오류가 표시됩니다.
Timed out waiting for a node assignment.
이 오류의 원인은 다음과 같습니다.
Connect 클러스터가 Kafka 클러스터로 인증할 수 없습니다. 커넥터 구성에서 인증 매개변수를 확인합니다. 자세한 내용은 MirrorMaker 2.0 커넥터 만들기를 참고하세요.
네트워킹 문제로 인해 Connect 클러스터가 Kafka 클러스터에 도달할 수 없습니다. 네트워킹 문제 해결의 단계를 따릅니다.
DNS 변환 실패
Connect 클러스터에서 부트스트랩 주소를 확인할 수 없는 경우 다음 오류가 표시됩니다.
No resolvable bootstrap urls given in bootstrap.servers
다음과 비슷한 오류가 표시될 수도 있습니다.
Couldn't resolve server BOOTSTRAP_ADDRESS from bootstrap.servers as DNS resolution failed for BOOTSTRAP_ADDRESS
이 문제를 해결하려면 먼저 부트스트랩 주소가 올바른지 확인합니다. 이 경우 도메인 이름 확인 문제 해결의 단계를 따르세요.
사용자 인증 정보가 잘못되었습니다.
커넥트 클러스터가 Kafka 클러스터 중 하나로 인증할 수 없는 경우 다음과 유사한 오류가 표시됩니다.
org.apache.kafka.clients.NetworkClient processDisconnection
SEVERE: [AdminClient clientId=source->target|mm2|offset-syncs-source-admin] Connection to
node 11 (broker-1.BOOTSTRAP_ADDRESS/IP_ADDRESS:9092) failed authentication due to: Authentication
failed during authentication due to invalid credentials with SASL mechanism OAUTHBEARER
이 오류가 발생할 수 있는 원인은 다음과 같습니다.
하나 이상의 클러스터의 관리형 Kafka 서비스 계정에 관리형 Kafka 서비스 에이전트 역할이 누락되어 있습니다.
각 Apache Kafka용 관리형 서비스 클러스터에 대해 해당 클러스터 프로젝트의 관리형 Kafka 서비스 계정에 관리형 Kafka 서비스 에이전트 IAM 역할을 부여합니다. 자세한 내용은 Apache Kafka용 관리형 서비스 네트워킹 구성을 참고하세요.
자체 관리형 또는 외부 클러스터에 대한 인증이 실패했습니다.
자체 관리형 또는 외부 Kafka 클러스터의 경우 클러스터의 인증 속성이 올바른지 확인합니다. 세부정보는 클러스터 설정에 따라 다릅니다. 자세한 내용은 MirrorMaker 2 커넥터 만들기를 참고하세요.
클러스터가 동일한 VPC 서비스 제어 경계 내에 있지 않습니다.
VPC 서비스 제어를 사용하여 Kafka 클러스터를 격리하는 경우 클러스터가 동일한 경계 내에 있는지 확인합니다. 자세한 내용은 VPC 서비스 제어 개요를 참조하세요.
주 구성원의 작업이 거부됨
Apache Kafka 액세스 제어 목록(ACL)을 만들었는데 ACL에서 관리형 Kafka 서비스 계정에 읽기 및 쓰기 권한을 부여하지 않으면 다음과 비슷한 오류가 표시됩니다.
Principal = User:SERVICE_ACCOUNT is Denied operation = OPERATION from host = HOST
on resource = Topic:LITERAL:TOPIC for request = TOPIC with resourceRefCount = 1 based on rule DefaultDeny
기본적으로 Apache Kafka용 관리형 서비스 클러스터는 allow.everyone.if.no.acl.found이 true로 설정된 상태로 작동하며, 이렇게 하면 관리형 Kafka 서비스 계정에 클러스터 리소스에 대한 읽기 및 쓰기 액세스 권한이 부여됩니다.
하지만 ACL을 설정하는 경우 해당 ACL은 서비스 계정에 읽기 및 쓰기 권한을 부여해야 합니다. 그렇지 않으면 Connect 클러스터가 모든 주제에 대한 읽기 및 쓰기 권한을 잃고 모든 소비자 그룹에 대한 읽기 권한을 잃습니다.
이 문제를 해결하려면 관리형 Kafka 서비스 계정에 필요한 권한을 부여하는 ACL 항목을 추가하세요. 이렇게 하려면 관리형 Kafka ACL에 ACL 항목 추가의 단계를 따르세요.
주 구성원은
User:service-PROJECT_NUMBER@gcp-sa-managedkafka.iam.gserviceaccount.com입니다. PROJECT_NUMBER를 Google Cloud 프로젝트 번호로 바꿉니다.특정 주제에 대한 읽기 및 쓰기 액세스 권한을 부여하고 특정 소비자 그룹에 대한 읽기 액세스 권한을 부여합니다. ACL의 리소스를 지정하는 방법에 대한 자세한 내용은 ACL ID를 참고하세요.
메시지가 중복되지 않음
이 문제를 해결하려면 커넥터 구성을 확인하세요. 기본 Kafka 클러스터를 소스 클러스터로 사용하는 경우 producer.override.bootstrap.servers을 대상 클러스터의 부트스트랩 주소로 설정합니다.
네트워킹 문제 해결
MirrorMaker 2.0 커넥터를 사용할 때 네트워킹 문제가 발생하는 경우 다음 문제 해결 단계를 실행하세요.
Apache Kafka용 관리형 서비스 클러스터에 연결하는 경우:
외부 또는 자체 관리형 Kafka 클러스터에 연결하는 경우:
Connect 클러스터의 작업자 서브넷을 조회하고 서브넷의 VPC 네트워크를 찾습니다.
VPC 네트워크에서 Kafka 클러스터에 액세스할 수 있는지 확인합니다. 예를 들어 동일한 VPC 네트워크에 Kafka 클러스터를 배포하거나 공유 VPC 또는 DNS 영역을 사용하여 VPC 네트워크에서 클러스터에 연결할 수 있습니다.
1 소스 또는 타겟 Kafka 클러스터가 인터넷을 통해 액세스되는 경우 Connect 클러스터 작업자가 인터넷에 액세스할 수 있도록 Cloud NAT를 구성합니다.
Apache Kafka용 관리형 서비스의 네트워킹에 대한 자세한 내용은 Apache Kafka용 관리형 서비스를 참고하세요.
도메인 이름 확인 문제 해결
MirrorMaker 2.0 커넥터를 사용할 때 도메인 이름 확인에 문제가 발생하면 다음 문제 해결 단계를 실행하세요.
Connect 클러스터의 작업자 서브넷을 조회하고 서브넷의 VPC 네트워크를 찾습니다.
Google Cloud 콘솔에서 Cloud DNS 영역 페이지로 이동합니다.
VPC 네트워크가 포함된 Google Cloud 프로젝트를 선택합니다.
영역을 클릭하고 도메인 이름이 DNS 영역 목록에 표시되는지 확인합니다.
Connect 클러스터의 구성을 확인하고 변환 가능한 DNS 도메인 목록을 찾습니다. 도메인 이름이 나열되지 않으면 Connect 클러스터를 업데이트하여 DNS 도메인을 추가합니다. Connect 클러스터 업데이트를 참고하세요.