Questa sezione fornisce indicazioni per la risoluzione dei problemi comuni riscontrati durante l'utilizzo di un connettore sink Cloud Storage.
La deserializzazione non è configurata correttamente
Se i convertitori del connettore non corrispondono ai dati in Kafka, il connettore non funziona e viene visualizzato un messaggio di errore simile al seguente:
org.apache.kafka.connect.errors.DataException: Converting byte[] to Kafka
Connect data failed due to serialization error:
Per risolvere il problema, assicurati che i convertitori di chiavi e valori per il connettore corrispondano ai dati che il connettore legge da Kafka.
Ad esempio, se imposti il tipo di output del formato su csv e il convertitore di valori su JsonConverter, potresti visualizzare il seguente errore:
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)
Questo errore si verifica perché l'output CSV richiede ByteArrayConverter per il convertitore di valori, non JsonConverter. Per saperne di più, consulta Come funziona un connettore Cloud Storage Sink.
La analisi dello stack nei log potrebbe aiutarti a individuare la causa principale. Ad esempio, la seguente voce di log indica un problema di conversione di un carattere 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
Autorizzazioni del bucket Cloud Storage mancanti
Se il account di servizio Kafka gestito non dispone dell'autorizzazione per scrivere nel bucket Cloud Storage, il connettore non funziona e viene visualizzato un messaggio di errore simile al seguente:
org.apache.kafka.connect.errors.ConnectException:
com.google.cloud.storage.StorageException: 403 Forbidden
Per risolvere il problema, concedi il ruolo Creatore oggetti Storage
(roles/storage.objectCreator) al account di servizio gestito Kafka. Per saperne di più, consulta Concedere le autorizzazioni di scrittura al bucket Cloud Storage.
Passaggi successivi
- Risolvere i problemi relativi ai cluster e ai connettori di Connect
- Crea un connettore di sink Cloud Storage