Risoluzione dei problemi

In questa pagina vengono descritti vari scenari e le procedure per la risoluzione degli errori.

Scenari di errore di connettività e rete

Se si verificano problemi di connettività o di rete, consulta gli scenari nelle sezioni seguenti per stabilire se la causa è uno di questi.

La creazione del servizio non riesce a causa di un vincolo per limitare il peering VPC

Non impostare il vincolo del criterio dell'organizzazione per limitare il peering VPC. Se specifichi constraints/compute.restrictVpcPeering, la richiesta di creazione non va a buon fine e viene generato un errore INVALID_ARGUMENT. Se devi impostare il vincolo, utilizza il comando seguente per consentire under:folders/270204312590:

gcloud resource-manager org-policies allow compute.restrictVpcPeering under:folders/270204312590 --organization ORGANIZATION_ID

Per ulteriori informazioni, consulta la sezione Vincoli dei criteri dell'organizzazione.

Il deployment tra progetti non va a buon fine perché un 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 all'agente di servizio Dataproc Metastore (service-SERVICE_PROJECT_NUMBER@gcp-sa-metastore.iam.gserviceaccount.com) del progetto di servizio 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 per più regioni

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, in Dataproc Metastore, ma non hai concesso le autorizzazioni corrette per il progetto.

Per risolvere questo errore, devi concedere l'autorizzazione metastore.services.get all'account di servizio Dataproc contenuto nel progetto Dataproc Metastore.

L'IP privato è obbligatorio per la connettività di rete

Dataproc Metastore utilizza solo l'IP privato, perciò nessun IP pubblico viene esposto. Ciò significa che solo le VM sulla rete Virtual Private Cloud (VPC) fornita o on-premise (connessa tramite Cloud VPN o Cloud Interconnect) possono accedere al servizio Dataproc Metastore.

Per ulteriori informazioni, vedi Accesso ai servizi.

Regola firewall di autorizzazione in entrata obbligatoria per Kerberos

Kerberos richiede Dataproc Metastore per avviare connessioni agli host nella rete del progetto. Devi creare una regola firewall che consenta il traffico TCP e UDP in entrata su tutte le porte dal blocco IP /17 che contiene l'IP Dataproc Metastore.

Per maggiori informazioni, consulta Regole firewall sul KDC e Regole firewall per i servizi.

Errore di connessione causato dalle 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 supportati con RFC 1918, vedi Intervalli validi nella documentazione relativa alla rete VPC.} Il servizio utilizza una rete appartenente a un altro progetto e Compute Engine è protetto dal perimetro di servizio, quindi il progetto di metastore e il progetto di rete devono trovarsi nello stesso perimetro.

Per aggiungere progetti Dataproc Metastore esistenti al perimetro, segui le istruzioni riportate in Aggiornamento di un perimetro di servizio.

Per ulteriori informazioni, 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 relativa alle reti 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 di indirizzi IP privati RFC 1918 e non RFC 1918 prenotati da Dataproc Metastore:

gcloud compute addresses list \
    --project NETWORK_PROJECT_ID \
    --filter="purpose:VPC_PEERING AND name ~ cluster|resourcegroup"

Se viene determinato un conflitto che non può essere ridotto riconfigurando la rete on-premise, elimina il servizio Dataproc Metastore in questione e ricrealo dopo due ore.

Per ulteriori informazioni, consulta la sezione Esaurimento dell'intervallo di indirizzi IP.

Scenari di errore di timeout dell'operazione

I seguenti scenari di errore comportano il mancato risposta da parte del servizio o dei timeout dell'operazione.

Utilizzare gli audit log per risolvere i problemi di timeout delle operazioni

Per risolvere i problemi di timeout delle operazioni dei servizi, utilizza Esplora log nella console Google Cloud per recuperare le voci degli audit log per il tuo progetto Cloud.

Nel riquadro Query Builder, seleziona Risorsa controllata 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 descrive i problemi di importazione ed esportazione più comuni di Dataproc Metastore.

L'importazione non riesce perché le versioni di Hive non corrispondono

Quando importi i metadati, le versioni del metastore Hive e di Dataproc Metastore devono essere compatibili. L'importazione potrebbe non riuscire se i due non corrispondono.

Per ulteriori informazioni sulla compatibilità, consulta i criteri relativi alle versioni.

Puoi controllare Cloud Logging per vedere 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 di tabella Hive

Durante la preparazione dell'importazione per Avro, deve esserci un file per ogni tabella Hive, anche se la tabella è vuota, altrimenti l'importazione non andrà a buon fine.

Puoi utilizzare Dataproc Metastore Toolkit come riferimento per verificare 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, devono disporre dell'autorizzazione storage.objects.get per l'oggetto Cloud Storage (file di dump SQL) utilizzato per l'importazione.

  • Per Avro, deve disporre dell'autorizzazione storage.objects.get nel 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 per il 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 timeout del job. Se l'importazione non può essere completata entro il limite di timeout del job di 3 ore, puoi suddividere i metadati tra 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 esistono già sette backup, devi 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 di metadati del servizio è troppo grande, il completamento del processo di backup o ripristino può richiedere più di un'ora del limite di timeout del job.

Scenari di errore dei cluster Dataproc

Le seguenti sezioni descrivono i problemi comuni di Dataproc e dei cluster autogestiti.

Il collegamento del cluster Dataproc non va a buon fine a causa di versioni che non corrispondono

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:

Per ulteriori informazioni, consulta la sezione Elenco delle versioni delle immagini Dataproc.

La creazione del cluster Dataproc non riesce a causa di ruoli insufficienti

Durante la creazione di un cluster Dataproc, la creazione del cluster non riesce e viene visualizzato il messaggio di errore seguente:

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ò accadere quando provi a creare un cluster Dataproc e lo colleghi 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.worker

Connessione al metastore non riuscita a causa di problemi relativi al 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, 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"

Risoluzione dei problemi di Google Cloud CLI

Se si verifica un problema in 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