In questa pagina vengono descritti i vari scenari di errore e i passaggi per la risoluzione dei problemi gli errori.
Scenari di errore di connettività e rete
Se il tuo servizio presenta problemi di connettività o di rete, controlla gli scenari nelle sezioni seguenti per verificare se uno di questi è la causa del problema.
La creazione del servizio non riesce a causa di un vincolo che limita il peering VPC
Non impostare il vincolo dei criteri dell'organizzazione per limitare il peering VPC. Se specifichi constraints/compute.restrictVpcPeering
, la richiesta di creazione non va a buon fine con un errore INVALID_ARGUMENT
. Se devi impostare il vincolo, utilizza il metodo
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 dei criteri dell'organizzazione.
Il deployment tra progetti non riesce se il service account potrebbe non esistere
Creare un servizio Dataproc Metastore accessibile in una rete che appartiene
a un progetto diverso da quello a cui appartiene il servizio, devi concedere
roles/metastore.serviceAgent
al progetto di servizio
Agente di servizio Dataproc Metastore
(service-SERVICE_PROJECT_NUMBER@gcp-sa-metastore.iam.gserviceaccount.com
)
nel criterio 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.
Impossibile creare il servizio Dataproc Metastore multiregionale
Quando crei un servizio Dataproc Metastore su più regioni, potresti visualizzare il seguente errore:
The Dataproc Service Agent does not have permission to GET Dataproc Metastore service
'projects/<dpmsproject>/locations/nam7/services/<service>'. If using a service from the
cluster's project, please ensure the service agent has the Cloud IAM role
'roles/dataproc.serviceAgent'. Please see
https://cloud.google.com/dataproc/docs/concepts/iam/dataproc-
principals#service_agent_control_plane_identity for information on the Dataproc Service
Agent, and https://cloud.google.com/iam/docs/granting-changing-revoking-access#granting-
gcloud-manual for information on granting access.
Questo errore si verifica se il cluster Dataproc si trova in un progetto diverso da Dataproc Metastore, ma non hai concesso le autorizzazioni corrette al progetto.
Per risolvere questo errore, devi concedere l'autorizzazione metastore.services.get
a
Account di servizio Dataproc contenuto in Dataproc Metastore
progetto.
L'IP privato è obbligatorio per la connettività di rete
Dataproc Metastore utilizza solo IP privati, pertanto 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ù, vedi Accesso ai servizi.
Regola firewall di autorizzazione in entrata obbligatoria per Kerberos
Kerberos richiede Dataproc Metastore per avviare le connessioni a
host nella rete del progetto. Devi creare una regola firewall che consenta il TCP
e UDP in entrata su tutte le porte dal blocco IP /17
che contiene
IP Dataproc Metastore.
Per ulteriori informazioni, consulta Regole firewall sul tuo KDC e le regole firewall per i tuoi servizi.
Errore di connessione causato da risorse di cui è stato eseguito il provisioning nelle reti VPC condivise
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.} utilizza una rete appartenente a un progetto diverso e Compute Engine è protetto dal perimetro del servizio, il progetto metastore e il progetto di rete devono trovarsi nello stesso perimetro.
Per aggiungere al perimetro i progetti Dataproc Metastore esistenti, segui le istruzioni riportate in Aggiornamento di un perimetro di servizio.
Per ulteriori informazioni, vedi Controlli di servizio VPC con Dataproc Metastore.
L'intervallo IP allocato è esaurito
La rete VPC fornita potrebbe non avere più indirizzi RFC 1918 disponibili richiesti dai servizi Dataproc Metastore. In questo caso, Dataproc Metastore tenterà di prenotare un indirizzo IP privato al di fuori degli intervalli RFC 1918 per la creazione del servizio. Per un elenco di per gli 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 possono essere in conflitto con un intervallo in una rete on-premise connessa alla rete VPC fornita. Per controllare l'elenco di indirizzi IP privati RFC 1918 e non RFC 1918 indirizzi riservati a Dataproc Metastore:
gcloud compute addresses list \
--project NETWORK_PROJECT_ID \
--filter="purpose:VPC_PEERING AND name ~ cluster|resourcegroup"
Se un conflitto viene determinato e non può essere mitigato riconfigurando il rete on-premise, elimina Dataproc Metastore in questione e ricrearlo dopo 2 ore.
Per ulteriori informazioni, vedi Esaurimento degli intervalli di indirizzi IP.
Scenari di errore di timeout dell'operazione
I seguenti scenari di errore generano un'operazione o un servizio che non risponde timeout.
Utilizzare gli audit log per risolvere i problemi di timeout delle operazioni
Per risolvere i problemi relativi ai timeout delle operazioni di servizio, utilizza Esplora log nel Console Google Cloud per recuperare le voci di audit log per il progetto Cloud.
Nel riquadro Query Builder, seleziona Risorsa sottoposta a controllo o audited_resource
come
tipo di risorsa Google Cloud, seguito da Dataproc Metastore o
metastore.googleapis.com
come servizio. La selezione di un metodo è facoltativa.
Per ulteriori informazioni, consulta la sezione Visualizzazione dei log.
Scenari di errore di importazione ed esportazione
Questa sezione illustra 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, il metastore Hive e Dataproc Metastore devono essere compatibili. L'importazione potrebbe non riuscire se i due valori non corrispondono.
Per maggiori informazioni sulla compatibilità, consulta i criteri relativi alla versione.
Puoi controllare Cloud Logging per verificare se hai riscontrato 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, dovrebbe esserci un file per ogni tabella Hive anche se la tabella è vuota, altrimenti l'importazione non riuscirà.
Puoi utilizzare il Dataproc Metastore Toolkit come riferimento per controllare gli schemi dei metadati Hive corretti.
L'agente di servizio o l'utente non dispone delle autorizzazioni necessarie
L'agente di servizio 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, deve disporre dell'autorizzazione
storage.objects.get
sull'oggetto Cloud Storage (file di dump SQL) utilizzato per l'importazione.Per Avro, devono disporre dell'autorizzazione
storage.objects.get
nella Bucket Cloud Storage utilizzato per l'importazione.
Per le esportazioni, l'agente di servizio 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 del database è troppo grande, il completamento del processo di importazione o esportazione può richiedere più del limite di tempo del job. Se l'importazione non riesce a essere completata entro il limite di tempo del job di 3 ore, puoi suddividere i metadati in più istanze Dataproc Metastore.
Scenari di errore di backup e ripristino
Questa sezione illustra 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 va a buon fine 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 può richiedere più del limite di tempo del job di un'ora.
Scenari di errore dei cluster Dataproc
Le sezioni seguenti descrivono i problemi comuni dei cluster Dataproc e autogestiti.
Il collegamento del cluster Dataproc non va a buon fine a causa di versioni non corrispondenti
Quando colleghi un cluster Dataproc, l'immagine Dataproc e la versione Hive di Dataproc Metastore devono essere compatibili. Controlla le seguenti pagine di controllo delle versioni delle immagini per assicurarti che la versione di Hive sia compatibile:
- Versioni di release 2.0.x di Dataproc
- Versioni di release 1.5.x di Dataproc
- Dataproc Versioni di release 1.4.x
Per ulteriori informazioni, consulta l'elenco delle versioni delle immagini Dataproc.
La creazione del cluster Dataproc non riesce a causa di ruoli insufficienti
Quando crei un cluster Dataproc, la creazione del cluster non riesce con 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 provi a creare un cluster Dataproc e a collegarlo a Dataproc Metastore.
Per risolvere il problema, concedi roles/dataproc.worker
al tuo account di servizio.
L'esempio seguente spiega 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.worker
Connessione al metastore non riuscita 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 tuo metastore da Dataproc,
deve eliminare il cluster attuale
e aggiorna il comando o lo strumento di automazione gcloud dataproc clusters create
in
includi il seguente parametro di fuso orario:
--metadata "hive-metastore-uri=jdbc:mysql://10.207.26.77:3306/hive_metastore?serverTimezone=CST6CDT"
Risoluzione dei 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 come è documentato, prova ad aggiornare gcloud CLI:
gcloud components update
Passaggi successivi
- Per risolvere gli errori, vedi Messaggi di errore.