MSK Connect를 사용하여 커넥터를 생성하는 동안 오류가 발생합니다. 이 문제를 해결하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2021년 12월 7일

Amazon Managed Streaming for Apache Kafka(Amazon MSK) Connect를 사용하여 커넥터를 생성하려고 합니다. 그러나 오류 메시지가 표시됩니다. 이 문제를 해결하려면 어떻게 해야 하나요?

해결 방법

MSK Connect를 사용하여 커넥터를 생성할 때 다음 오류 메시지 중 하나가 나타날 수 있습니다.

  • "Invalid parameter connectorConfiguration: The following required field is missing or has invalid value: tasks.max"
  • "org.apache.kafka.connect.errors.ConnectException: Failed to find any class that implements Connector and which name matches..."
  • "org.apache.kafka.common.errors.TimeoutException: Timed out waiting to send the call. Call: fetchMetadata"
  • "org.apache.kafka.common.errors.SaslAuthenticationException: Too many connects"

"Invalid parameter connectorConfiguration: The following required field is missing or has invalid value: tasks.max"

구성 끝에 캐리지 반환(/r) 문자를 사용하면 다음 오류가 발생합니다.

Invalid parameter connectorConfiguration: The following required field is missing or has invalid value: tasks.max

이 오류를 해결하려면 다음을 수행하세요.

  • 설명서 등의 다른 소스에서 복사해 붙여 넣는 대신, 커넥터 구성 대화상자에 구성 정보를 수동으로 입력합니다.
  • Windows 운영 체제를 사용하는 경우, 텍스트 편집기(예: Notepad++)를 사용합니다. 문자 편집기를 사용하여 캐리지 리턴(CRLF) 및 행 끝(EOL) 문자를 확인 및 제거할 수 있습니다. 캐리지 리턴을 제거하려면, 구성을 복사하여 텍스트 편집기에 붙여 넣습니다. 텍스트 편집기에서 [보기] 및 [심볼 표시]를 선택합니다. 그런 다음 [모든 문자 표시]를 선택하여 구성에 존재할 수 있는 CRLF 또는 EOL 문자를 검토합니다. 모든 CRLF 문자 ("\r\n")를 LF 문자 ("\n")로 변경합니다..

"org.apache.kafka.connect.errors.ConnectException: Failed to find any class that implements Connector and which name matches..."

이 오류를 해결하려면 다음을 수행하세요.

  • 커넥터 구성에 존재할 수 있는 모든 캐리지 리턴 (/r) 문자를 제거합니다.
  • 커넥터 플러그인에 여러 파일이 필요한 경우 이러한 파일이 압축 파일에 포함되어 있는지 확인합니다. (압축된 파일은 커넥터 플러그인을 생성하는 동안 사용됩니다.) 압축 파일의 JAR 파일도 해당 플러그인에 대해 문서화된 예상 파일 구조여야 합니다. MSK Connect에 대한 로그를 활성화 및 검토하여 해당 파일 구조가 올바르게 설정되었는지 확인하는 것이 가장 좋습니다.

"org.apache.kafka.common.errors.TimeoutException: Timed out waiting to send the call. Call: fetchMetadata"

커넥터를 Amazon MSK 클러스터에 연결할 수 없는 경우, TimeOutException 오류가 표시됩니다. 이 오류를 해결하려면 Amazon MSK 클러스터의 보안 그룹을 확인하십시오. 보안 그룹은 클라이언트 보안 그룹으로부터의 인바운드 트래픽을 허용해야 합니다(Amazon MSK Connect와 연결됨). Amazon MSK 클러스터를 사용 중이라면 자체 발생한 인바운드 트래픽을 허용하는 규칙을 추가해야 합니다. 이러한 규칙 설정에 대한 자세한 내용은 보안 그룹 규칙을 참조하십시오.

"org.apache.kafka.common.errors.SaslAuthenticationException: Too many connects"

MSK 클러스터가 AWS 자격 증명 액세스 관리(IAM) 액세스 제어를 사용하는 kafka.t3.small 브로커 유형에서 실행되는 경우 연결 제한에 유의하십시오. kafka.t3.small 인스턴스 유형이 허용하는 방식은 브로커당 초당 하나의 TCP입니다. 이 연결 제한을 초과하면 생성 테스트가 실패합니다. 따라서 유효하지 않은 자격 증명 오류를 나타내는 SaslAuthenticationException 오류가 표시됩니다. Amazon MSK 클러스터 및 IAM 액세스 제어에 대한 자세한 내용은 Amazon MSK를 IAM와 함께 사용하는 방법 단원을 참조하십시오.

SaslAuthenticationException 오류를 해결하려면 다음 방법을 고려하십시오.

  • Amazon MSK Connect 작업자 구성에서 reconnect.backoff.msreconnect.backoff.max.ms의 값을 "1000" 이상으로 업데이트합니다.
  • 더 큰 브로커 인스턴스 유형(예: kafka.m5.large 이상)으로 업그레이드합니다. Amazon MSK 브로커 유형 및 올바른 브로커 유형 선택에 대한 자세한 내용은 브로커 유형클러스터 적절한 크기 조정 단원을 참조하십시오.