Questa pagina spiega vari scenari di errore e i passaggi per la risoluzione dei problemi per risolverli.
Scenari di errore di connettività e networking
Se il tuo servizio riscontra problemi di connettività o networking, controlla gli scenari nelle sezioni seguenti per verificare se uno di questi è la causa del problema.
Creazione del servizio non riuscita a causa del vincolo per limitare il peering VPC
Non impostare il vincolo della policy dell'organizzazione per limitare il peering VPC. Se specifichi constraints/compute.restrictVpcPeering, la richiesta di creazione non andrà a buon fine e verrà visualizzato un errore INVALID_ARGUMENT. Se devi impostare il vincolo, utilizza il seguente comando per consentire under:folders/270204312590:
gcloud resource-manager org-policies allow compute.restrictVpcPeering under:folders/270204312590 --organization ORGANIZATION_ID
Per saperne di più, consulta Vincoli delle policy dell'organizzazione.
Deployment tra progetti non riuscito perché account di servizio potrebbe non esistere
Per creare un servizio Dataproc Metastore accessibile in una rete appartenente a un progetto diverso da quello a cui appartiene il servizio, devi concedere roles/metastore.serviceAgent al service agent Dataproc Metastore del progetto di servizio (service-SERVICE_PROJECT_NUMBER@gcp-sa-metastore.iam.gserviceaccount.com) nella policy IAM del progetto di rete.
gcloud projects add-iam-policy-binding NETWORK_PROJECT_ID \
--role "roles/metastore.serviceAgent" \
--member "serviceAccount:service-SERVICE_PROJECT_NUMBER@gcp-sa-metastore.iam.gserviceaccount.com"
Per saperne di più, consulta Configurare un deployment tra progetti.
L'IP privato è obbligatorio per la connettività di rete
Dataproc Metastore utilizza solo IP privati, quindi non viene esposto alcun IP pubblico. Ciò significa che solo le VM sulla rete Virtual Private Cloud (VPC) fornita o on-premise (connesse tramite Cloud VPN o Cloud Interconnect) possono accedere al servizio Dataproc Metastore.
Per saperne di più, consulta Accesso al servizio.
Regola firewall in entrata obbligatoria per Kerberos
Kerberos richiede che Dataproc Metastore avvii le connessioni agli host nella rete del progetto. Devi creare una regola firewall che consenta l'ingresso TCP e UDP su tutte le porte dal blocco IP /17 che contiene l'IP Dataproc Metastore.
Per saperne di più, consulta Regole firewall sul KDC e Regole firewall per i servizi.
Errore di connessione causato da risorse di cui è stato eseguito il provisioning nelle reti VPC condiviso
Se il tuo Dataproc Metastore. In questo caso, Dataproc Metastore tenterà di prenotare intervalli di indirizzi IP privati al di fuori degli intervalli RFC 1918 per la creazione del servizio. Per un elenco degli intervalli privati non RFC 1918 supportati, consulta Intervalli validi nella documentazione della rete VPC.} Il servizio utilizza una rete appartenente a un progetto diverso e Compute Engine è protetto dal perimetro di servizio, quindi il progetto metastore e il progetto di rete devono trovarsi nello stesso perimetro.
Per aggiungere i progetti Dataproc Metastore esistenti al perimetro, segui le istruzioni riportate in Aggiornare un perimetro di servizio.
Per saperne di più, consulta Controlli di servizio VPC con Dataproc Metastore.
L'intervallo IP allocato è esaurito
La rete VPC fornita potrebbe esaurire gli indirizzi RFC 1918 disponibili richiesti dai servizi Dataproc Metastore. In questo caso, Dataproc Metastore tenterà di prenotare intervalli di indirizzi IP privati al di fuori degli intervalli RFC 1918 per la creazione del servizio. Per un elenco degli intervalli privati non RFC 1918 supportati, consulta Intervalli validi nella documentazione della rete VPC.
Gli indirizzi IP privati non RFC 1918 utilizzati in Dataproc Metastore potrebbero essere in conflitto con un intervallo in una rete on-premise connessa alla rete VPC fornita. Per controllare l'elenco degli indirizzi IP privati RFC 1918 e non RFC 1918 riservati da Dataproc Metastore:
gcloud compute addresses list \
--project NETWORK_PROJECT_ID \
--filter="purpose:VPC_PEERING AND name ~ cluster|resourcegroup"
Se viene rilevato un conflitto e non è possibile attenuarlo riconfigurando la rete on-premise, elimina il servizio Dataproc Metastore che causa il problema e ricrealo dopo 2 ore.
Per saperne di più, consulta Esaurimento dell'intervallo di indirizzi IP.
Scenari di errore di timeout dell'operazione
I seguenti scenari di errore comportano un servizio che non risponde o timeout dell'operazione.
Utilizzare gli audit log per risolvere i timeout delle operazioni
Per risolvere i timeout delle operazioni del servizio, utilizza Esplora log nella Google Cloud console per recuperare le voci di audit log per il tuo progetto Cloud.
Nel riquadro Query Builder, seleziona Risorsa sottoposta ad audit o audited_resource come
tipodi Google Cloud risorsa, seguito da Dataproc Metastore o
metastore.googleapis.com come servizio. La selezione di un metodo è facoltativa.
Per saperne di più, consulta Visualizzare i log.
Indisponibilità del servizio
I servizi Dataproc Metastore possono diventare non disponibili per vari motivi e causare errori. I motivi più comuni sono l'utilizzo elevato della CPU o gli errori di memoria insufficiente.
Il problema può essere causato da un carico elevato o da molte tabelle e partizioni sottoposte a query. Per evitare questo problema, ti consigliamo di utilizzare il livello Enterprise, che offre scalabilità flessibile, tolleranza di errore e alta affidabilità multizona durante la gestione di workload pesanti.
Per risolvere gli errori di memoria insufficiente, utilizza Esplora log nella Google Cloud console per recuperare le voci di audit log per il tuo progetto Cloud.
- In Esplora log, fai clic su Query Builder.
- Seleziona i seguenti filtri
- Tipo di risorsa:
metastore.googleapis.com/Services - Gravità:
ERROR - Parola chiave:
OutofMemoryError
- Tipo di risorsa:
Per saperne di più, consulta Visualizzare i log.
Scenari di errore di importazione ed esportazione
Questa sezione descrive i problemi comuni di importazione ed esportazione di Dataproc Metastore.
L'importazione non riesce perché le versioni di Hive non corrispondono
Quando importi i metadati, le versioni di Hive metastore e Dataproc Metastore devono essere compatibili. L'importazione potrebbe non riuscire se le due versioni non corrispondono.
Per saperne di più sulla compatibilità, consulta la policy delle versioni.
Puoi controllare Cloud Logging per verificare se si è verificato questo errore. Il seguente messaggio è un esempio di questo errore.
Metastore schema version is not compatible. Hive Version: 3.1.0, Database Schema Version: 2.3.0
L'importazione non riesce perché mancano i file delle tabelle Hive
Quando prepari l'importazione per Avro, deve essere presente un file per ogni tabella Hive, anche se la tabella è vuota, altrimenti l'importazione non andrà a buon fine.
Puoi utilizzare il Dataproc Metastore Toolkit come riferimento per controllare gli schemi di metadati Hive corretti.
Il service agent o l'utente non dispone delle autorizzazioni necessarie
Il service agent Dataproc Metastore (service-CUSTOMER_PROJECT_NUMBER@gcp-sa-metastore.iam.gserviceaccount.com)
e l'utente che importa i metadati devono disporre della seguente autorizzazione di lettura per
il bucket Cloud Storage utilizzato per l'importazione:
Per MySQL, devono disporre dell'autorizzazione
storage.objects.getsull' oggetto Cloud Storage (file di dump SQL) utilizzato per l'importazione.Per Avro, devono disporre dell'autorizzazione
storage.objects.getsul bucket Cloud Storage utilizzato per l'importazione.
Per le esportazioni, il service agent Dataproc Metastore
(service-CUSTOMER_PROJECT_NUMBER@gcp-sa-metastore.iam.gserviceaccount.com)
e l'utente che crea l'esportazione devono disporre dell'autorizzazione storage.objects.create
sul bucket.
Il job non riesce perché il file di database è troppo grande
Se il file di database è troppo grande, il completamento del processo di importazione o esportazione potrebbe richiedere più tempo del limite di timeout del job. Se l'importazione non può essere completata entro il limite di timeout del job di 3 ore, puoi suddividere i metadati in più istanze Dataproc Metastore.
Scenari di errore di backup e ripristino
Questa sezione descrive i problemi comuni di backup e ripristino di Dataproc Metastore.
Impossibile creare un nuovo backup per un servizio
Se in un servizio sono già presenti 7 backup, devi prima eliminare manualmente un backup prima di crearne uno nuovo. Puoi eliminare i backup esistenti dalla scheda Backup/Ripristino.
L'utente non dispone delle autorizzazioni necessarie
Per eseguire il backup dei metadati, devi richiedere un ruolo IAM contenente l'autorizzazione IAM metastore.backups.create.
Per ripristinare i metadati, devi richiedere un ruolo IAM contenente le autorizzazioni IAM metastore.services.restore e metastore.backups.use.
Il job non riesce perché il file dei metadati del servizio è troppo grande
Se il file dei metadati del servizio è troppo grande, il completamento del processo di backup o ripristino potrebbe richiedere più tempo del limite di timeout del job di un'ora.
Scenari di errore del cluster Managed Service per Apache Spark
Le sezioni seguenti descrivono i problemi comuni di Managed Service per Apache Spark e dei cluster autogestiti.
L'associazione del cluster Managed Service per Apache Spark non riesce a causa di versioni non corrispondenti
Quando associ un cluster Managed Service per Apache Spark, la versione di Hive dell'immagine Managed Service per Apache Spark e di Dataproc Metastore deve essere compatibile. Controlla le seguenti pagine relative al controllo delle versioni delle immagini per assicurarti che la versione di Hive sia compatibile:
- Versioni di rilascio di Managed Service per Apache Spark 2.0.x
- Versioni di rilascio di Managed Service per Apache Spark 1.5.x
- Versioni di rilascio di Managed Service per Apache Spark 1.4.x
Per saperne di più, consulta Elenco delle versioni delle immagini di Managed Service per Apache Spark.
La creazione del cluster Managed Service per Apache Spark non riesce a causa di ruoli insufficienti
Quando crei un cluster Managed Service per Apache Spark, la creazione del cluster non riesce e viene visualizzato il seguente messaggio di errore:
gcloud.dataproc.clusters.create) INVALID_ARGUMENT: Default Service Account '**********-compute@developer.gserviceaccount.com' is missing required permissions: [dataproc.agents.create, dataproc.agents.delete, dataproc.agents.get, dataproc.agents.update, dataproc.tasks.lease, dataproc.tasks.listInvalidatedLeases, dataproc.tasks.reportStatus]. Service Accounts must have either 'Dataproc/Dataproc Worker' role or all permissions granted by the role.
Questo può verificarsi quando tenti di creare un cluster Managed Service per Apache Spark e di associarlo a Dataproc Metastore.
Per risolvere il problema, concedi roles/dataproc.worker al tuo account di servizio.
L'esempio seguente illustra come eseguire questa operazione utilizzando alcuni valori di esempio.
gcloud projects add-iam-policy-binding my_project \
--member=219315-compute@developer.gserviceaccount.com \
--role=roles/dataproc.workerLa connessione al metastore non riesce a causa di problemi di fuso orario
Il file Hive restituisce l'errore The server time zone value 'CDT' is
unrecognized or represents more than one time zone.
Se non riesci a connetterti al metastore da Managed Service per Apache Spark, devi
eliminare il cluster attuale
e aggiornare il comando gcloud dataproc clusters create o lo strumento di automazione in modo da
includere il seguente parametro del fuso orario:
--metadata "hive-metastore-uri=jdbc:mysql://10.207.26.77:3306/hive_metastore?serverTimezone=CST6CDT"
Risolvere i problemi di Google Cloud CLI
Se riscontri un problema per cui un comando gcloud CLI non è disponibile o se il comando si comporta in modo diverso da quanto documentato, prova ad aggiornare gcloud CLI:
gcloud components update
Passaggi successivi
- Per risolvere gli errori, consulta Messaggi di errore.