이 섹션에서는 Cloud Storage 싱크 커넥터를 사용할 때 발생하는 일반적인 문제에 대한 문제 해결 안내를 제공합니다.
역직렬화가 잘못 구성됨
커넥터의 변환기가 Kafka의 데이터와 일치하지 않으면 커넥터가 다음과 유사한 오류 메시지와 함께 실패합니다.
org.apache.kafka.connect.errors.DataException: Converting byte[] to Kafka
Connect data failed due to serialization error:
이 문제를 해결하려면 커넥터의 키 및 값 변환기가 커넥터가 Kafka에서 읽어오는 데이터와 일치해야 합니다.
예를 들어 형식 출력 유형을 csv로 설정하고 값 변환기를 JsonConverter로 설정하면 다음 오류가 표시될 수 있습니다.
org.apache.kafka.connect.errors.DataException: Converting byte[] to Kafka
Connect data failed due to serialization error:
at org.apache.kafka.connect.json.JsonConverter.toConnectData(JsonConverter.java:333)
at org.apache.kafka.connect.storage.Converter.toConnectData(Converter.java:91)
이 오류는 CSV 출력에 값 변환기에 JsonConverter이 아닌 ByteArrayConverter이 필요하기 때문에 발생합니다. 자세한 내용은 Cloud Storage 싱크 커넥터 작동 방식을 참고하세요.
로그의 스택 트레이스를 통해 근본 원인을 찾을 수 있습니다. 예를 들어 다음 로그 항목은 UTF-32 문자를 변환하는 데 문제가 있음을 나타냅니다.
Caused by: org.apache.kafka.common.errors.SerializationException:
java.io.CharConversionException: Invalid UTF-32 character 0x31d086a
(above 0x0010ffff) at char #1, byte #7
Cloud Storage 버킷 권한 누락
관리형 Kafka 서비스 계정에 Cloud Storage 버킷에 쓸 수 있는 권한이 없으면 커넥터가 실패하고 다음과 유사한 오류 메시지가 표시됩니다.
org.apache.kafka.connect.errors.ConnectException:
com.google.cloud.storage.StorageException: 403 Forbidden
이 문제를 해결하려면 관리형 Kafka 서비스 계정에 스토리지 객체 생성자 역할(roles/storage.objectCreator)을 부여합니다. 자세한 내용은 Cloud Storage 버킷에 쓸 권한 부여를 참고하세요.