Questa pagina mostra come risolvere i problemi durante la creazione o la configurazione di un cluster Managed Service per Apache Kafka.
Errori di creazione del cluster Kafka
Questa sezione elenca gli errori che potresti riscontrare durante la creazione di un cluster Kafka.
Il servizio non dispone dell'autorizzazione per accedere alla chiave Cloud KMS
Il seguente problema si verifica quando l'agente di servizio Managed Service per Apache Kafka non dispone dell'autorizzazione necessaria per accedere alla chiave Cloud KMS.
Service agent service-${PROJECT_NUMBER}@gcp-sa-managedkafka.iam.gserviceaccount.com
has not been granted the required role cloudkms.cryptoKeyEncrypterDecrypter to
encrypt data using the KMS key.`
Per risolvere il problema, concedi al account di servizio il ruolo Cloud KMS CryptoKey Encrypter/Decrypter per la chiave Cloud KMS. Per saperne di più, consulta Ruoli richiesti per la configurazione di CMEK.
Il servizio non ha l'autorizzazione per recuperare la subnet
Il seguente problema si verifica quando l'agente di servizio di Managed Service per Apache Kafka non dispone del ruolo richiesto per configurare il networking nella rete VPC in cui vengono eseguiti i client Kafka.
Service does not have permission to retrieve subnet. Please grant
service-${PROJECT_NUMBER}@gcp-sa-managedkafka.iam.gserviceaccount.com the
managedkafka.serviceAgent role in the IAM policy of the project
${SUBNET_PROJECT} and ensure the Compute Engine API is enabled in project
${SUBNET_PROJECT}`
Per risolvere il problema, concedi al account di servizio il ruolo Agente di servizio Kafka gestito. Per saperne di più, consulta Connettere un cluster tra progetti.
Errori di Networking
Questa sezione elenca gli errori che potresti riscontrare durante la configurazione del networking per un cluster Kafka.
Il servizio non è riuscito a configurare il networking
Il seguente problema si verifica se Managed Service per Apache Kafka non riesce a connettere il cluster Kafka alla subnet Virtual Private Cloud.
Managed Service for Apache Kafka failed to set up networking in VPC subnet.
Per risolvere il problema, segui questi passaggi:
Abilita le API Compute Engine e Cloud DNS nel progetto padre della rete VPC consumer.
Se il cluster Managed Service per Apache Kafka e la rete VPC consumer si trovano in progetti diversi, configura le autorizzazioni richieste. Consulta Connettere un cluster tra progetti.
Assicurati che nessun vincolo dei criteri dell'organizzazione impedisca al servizio di creare le risorse necessarie nel progetto della rete VPC consumer.
Per maggiori informazioni, vedi Configura il networking per Managed Service per Apache Kafka.
Le applicazioni client non possono connettersi
Se le tue applicazioni client non riescono a connettersi al cluster, verifica la presenza dei seguenti problemi:
Assicurati che i client utilizzino l'indirizzo di bootstrap corretto.
Assicurati che i client Kafka vengano eseguiti in una rete VPC configurata per accedere al cluster Managed Service per Apache Kafka.
Se esegui il client Kafka su un computer o un laptop, puoi configurare un'istanza Compute Engine da utilizzare come proxy per accedere al cluster Managed Service per Apache Kafka. Per saperne di più, vedi Configurare una macchina client.
Errori di autenticazione
Questa sezione elenca gli errori che potresti riscontrare quando le applicazioni client eseguono l'autenticazione al tuo cluster Kafka.
Autenticazione SASL non riuscita
Il seguente problema si verifica quando un client non riesce a connettersi al cluster utilizzando l'autenticazione SASL.
Exception in thread "main" java.util.concurrent.ExecutionException:
org.apache.kafka.common.errors.SaslAuthenticationException:
Authentication failed: Invalid username or password
Per risolvere il problema, verifica le seguenti cause:
La password non è formattata correttamente e non rappresenta un blob JSON della chiave di un account di servizio valido dopo la decodifica Base64 o un token di accesso valido.
L'entità di autenticazione non dispone dell'autorizzazione
managedkafka.clusters.connectsul cluster.Il nome utente fornito non corrisponde all'entità delle credenziali.
Se un client riscontra disconnessioni frequenti ogni 30 minuti, il problema potrebbe essere dovuto al fatto che il client non supporta la riautenticazione periodica.
I broker Managed Service per Apache Kafka richiedono ai client di eseguire nuovamente l'autenticazione ogni
30 minuti, applicata dalla proprietà del broker connections.max.reauth.ms.
Verifica che la versione della libreria client Kafka sia 2.2.0 o successive e supporti
la riautenticazione.
Per saperne di più, consulta Configura l'autenticazione SASL.
Errori operativi
Questa sezione elenca gli errori che potrebbero verificarsi durante l'esecuzione dei carichi di lavoro Kafka.
Errori di spazio su disco esaurito
Se un broker esaurisce lo spazio su disco, non può eseguire il roll dei segmenti attivi o scrivere nuovi segmenti, il che impedisce ai client di produrre o consumare messaggi. I sintomi includono:
Il rendimento del client peggiora in modo imprevisto. Ad esempio, i producer riscontrano errori di timeout e il ritardo aumenta costantemente nei consumer.
L'utilizzo del disco del broker è molto elevato (> 85%).
Il numero di repliche sincronizzate (ISR) scende al di sotto del fattore di replica.
I log del cluster mostrano errori come i seguenti:
Error processing append operation on partition PARTITION_ID. org.apache.kafka.common.errors.NotEnoughReplicasException: The size of the current ISR Set(10) is insufficient to satisfy the min.isr requirement of 2 for partition PARTITION_ID
Per evitare errori di spazio su disco insufficiente, monitora la capacità del cluster e la replica delle partizioni. Per saperne di più, consulta Monitorare l'affidabilità dei cluster Kafka.
Se un broker esaurisce lo spazio su disco, aumenta le dimensioni del disco del broker. Valuta anche la possibilità di scalare il cluster per aggiungere nuovi broker.
La compressione dei log combinata con uno spazio delle chiavi molto ampio può causare errori di spazio su disco insufficiente. Quando la compattazione dei log è abilitata, Kafka archivia l'ultimo messaggio per ogni chiave nello spazio di archiviazione locale, quindi l'utilizzo del disco del broker aumenta con il numero di chiavi uniche.
I client riscontrano disconnessioni temporanee
Managed Service per Apache Kafka potrebbe eseguire aggiornamenti che richiedono riavvii in sequenza sui broker. Durante questo processo, le richieste ai singoli broker potrebbero non andare a buon fine, ma questi errori sono temporanei. Per saperne di più, consulta Upgrade e patch.
Non è richiesta alcuna azione da parte tua durante i riavvii del broker. Tuttavia, potresti notare quanto segue:
Mette in pausa l'elaborazione mentre i leader delle partizioni e i coordinatori dei gruppi di consumatori eseguono il failover su altri broker.
Ribilanciamento dei gruppi di consumatori, sospensione temporanea dei consumi.
Errori di connessione temporanei o timeout durante il commit degli offset. Le librerie client utilizzate di frequente gestiscono automaticamente questi errori.
Un picco temporaneo nel conteggio delle partizioni con repliche insufficienti (
broker/under_replicated_partitions) quando un broker viene riavviato.Un picco nella metrica Partizioni Under-MinISR (
broker/under_min_isr_partitions). Questo picco corrisponde probabilmente a un argomento di monitoraggio interno non replicato ed è il comportamento previsto finché il conteggio è 1 per ogni broker. Un valore maggiore di 1 potrebbe indicare un problema con gli argomenti relativi a dati o metadati.
L'aggiornamento manuale di alcune proprietà del cluster, come il conteggio delle vCPU e la memoria, può anche causare l'esecuzione di un riavvio in sequenza del servizio. Consulta Aggiornare un cluster Managed Service per Apache Kafka.