Utilizzare lo strumento gcpdiag
gcpdiag
è uno strumento open source. Non è un prodotto Google Cloud supportato ufficialmente.
Puoi utilizzare lo strumento gcpdiag
per identificare e risolvere i problemi dei progetti Google Cloud. Per maggiori informazioni, consulta il progetto gcpdiag su GitHub.
Lo strumento gcpdiag
ti aiuta a scoprire i seguenti problemi di creazione dei cluster Dataproc eseguendo i seguenti controlli:
- Errori di esaurimento scorte: valuta i log di Esplora log per rilevare gli esaurimenti scorte nelle regioni e nelle zone.
- Quota insufficiente:controlla la disponibilità della quota nel progetto del cluster Dataproc.
- Configurazione di rete incompleta:esegue test di connettività di rete, inclusi controlli per le regole del firewall necessarie e la configurazione di IP esterni e interni. Se il cluster è stato eliminato, lo strumento
gcpdiag
non può eseguire un controllo della connettività di rete. - Configurazione tra progetti errata: vengono controllati gli account di servizio tra progetti e vengono esaminati i ruoli aggiuntivi e l'applicazione dei criteri dell'organizzazione.
- Ruoli IAM VPC condivisi mancanti: se il cluster Dataproc utilizza una rete VPC condiviso, controlla l'aggiunta dei ruoli del service account richiesti.
- Errori di azioni di inizializzazione: valuta i log di Logs Explorer per rilevare errori e timeout degli script di azioni di inizializzazione.
Per un elenco dei gcpdiag
passaggi per la creazione di cluster, consulta
Passaggi potenziali.
Esegui il comando gcpdiag
Puoi eseguire il comando gcpdiag
da Cloud Shell nella console Google Cloud o in un container Docker.
Console Google Cloud
- Completa e poi copia il seguente comando.
- Apri la console Google Cloud e attiva Cloud Shell. Apri Cloud Console
- Incolla il comando copiato.
- Esegui il comando
gcpdiag
, che scarica l'immagine Dockergcpdiag
, quindi esegui i controlli diagnostici. Se pertinente, segui le istruzioni di output per correggere i controlli non riusciti.
gcpdiag runbook dataproc/cluster-creation \
--parameter project_id=PROJECT_ID \
--parameter cluster_name=CLUSTER_NAME \
--parameter OPTIONAL_FLAGS
Docker
Puoi
eseguire gcpdiag
utilizzando un wrapper che avvia gcpdiag
in un
container Docker. È necessario installare Docker o Podman.
- Copia ed esegui il seguente comando sulla tua workstation locale.
curl https://gcpdiag.dev/gcpdiag.sh >gcpdiag && chmod +x gcpdiag
- Esegui il comando
gcpdiag
../gcpdiag runbook dataproc/cluster-creation \ --parameter project_id=PROJECT_ID \ --parameter cluster_name=CLUSTER_NAME \ --parameter OPTIONAL_FLAGS
Visualizza i parametri disponibili per questo runbook.
Sostituisci quanto segue:
- PROJECT_ID: l'ID del progetto contenente la risorsa
- CLUSTER_NAME: il nome del cluster Dataproc di destinazione nel progetto
- OPTIONAL_PARAMETERS: aggiungi uno o più dei seguenti parametri facoltativi. Questi parametri sono obbligatori se il cluster è stato eliminato.
cluster_uuid
: l'UUID del cluster Dataproc di destinazione nel tuo progettoservice_account
: l'account di servizio VM del cluster Dataprocsubnetwork
: il percorso URI completo della subnet del cluster Dataprocinternal_ip_only
: Vero o falsocross_project
: l'ID tra progetti se il cluster Dataproc utilizza un account di servizio VM in un altro progetto
Flag utili:
--universe-domain
: se applicabile, il dominio Trusted Partner Sovereign Cloud che ospita la risorsa--parameter
o-p
: parametri del runbook
Per un elenco e una descrizione di tutti i flag dello strumento gcpdiag
, consulta le istruzioni per l'utilizzo di gcpdiag
.
Comprendere e correggere gli errori di creazione del cluster
Questa sezione elenca i messaggi di errore di Dataproc, le relative cause comuni e le soluzioni.
Operazione scaduta:sono in esecuzione solo 0 su 2 datanode/node manager minimi richiesti.
Causa: il nodo principale non è in grado di creare il cluster perché non può comunicare con i nodi worker.
Soluzione:
- Controlla gli avvisi relativi alle regole firewall.
- Assicurati che siano applicate le regole firewall corrette. Per ulteriori informazioni, consulta Panoramica delle regole firewall di Dataproc predefinite.
- Esegui un test di connettività nella console Google Cloud per determinare cosa blocca la comunicazione tra i nodi master e worker.
Autorizzazione
compute.subnetworks.use
obbligatoria perprojects/{projectId}/regions/{region}/subnetworks/{subnetwork}
Causa: questo errore può verificarsi quando si tenta di configurare un cluster Dataproc utilizzando una rete VPC in un altro progetto e l'account di servizio Service Agent di Dataproc non dispone delle autorizzazioni necessarie nel progetto VPC condiviso che ospita la rete.
Soluzione: segui i passaggi descritti in Creare un cluster che utilizza una rete VPC in un altro progetto.
La zona
projects/zones/{zone}
non dispone di risorse sufficienti per soddisfare la richiesta(resource type:compute)
Causa: la zona utilizzata per creare il cluster non dispone di risorse sufficienti.
Soluzione:
- Crea il cluster in un'altra zona.
- Utilizza la funzionalità Dataproc Posizionamento zona automatica.
Errori di superamento della quota
Quota CPU/CPUS_ALL_REGIONS insufficiente
Quota "DISKS_TOTAL_GB" insufficiente
Quota "IN_USE_ADDRESSES" insufficienteCausa: la richiesta di CPU, disco o indirizzo IP supera la quota disponibile.
Soluzione: richiedi una quota aggiuntiva dalla console Google Cloud.
Azione di inizializzazione non riuscita
Causa: non è stato possibile installare l'azione di inizializzazione fornita durante la creazione del cluster.
Soluzione:
- Consulta le considerazioni e le linee guida relative alle azioni di inizializzazione.
- Esamina i log di output. Il messaggio di errore dovrebbe fornire un link ai log in Cloud Storage.
Impossibile inizializzare il nodo {cluster-name}: {component}
Causa: non è stato possibile inizializzare un componente Dataproc.
Soluzione: consulta:
Creazione del cluster non riuscita: spazio degli indirizzi IP esaurito
Causa: lo spazio degli indirizzi IP necessario per il provisioning dei nodi del cluster richiesti non è disponibile.
Soluzione:
- Crea un cluster su una subnet o una rete diversa.
- Riduci l'utilizzo sulla rete per liberare spazio per gli indirizzi IP.
- Attendi che nella rete sia disponibile spazio IP sufficiente.
Messaggio di errore dello script di inizializzazione: il repository REPO_NAME non ha più un file Release
Causa: il repository backports di Debian oldstable è stato svuotato.
Soluzione:
Aggiungi il codice seguente prima del codice che esegue
apt-get
nello script di inizializzazione.oldstable=$(curl -s https://deb.debian.org/debian/dists/oldstable/Release | awk '/^Codename/ {print $2}'); stable=$(curl -s https://deb.debian.org/debian/dists/stable/Release | awk '/^Codename/ {print $2}'); matched_files="$(grep -rsil '\-backports' /etc/apt/sources.list*)" if [[ -n "$matched_files" ]]; then for filename in "$matched_files"; do grep -e "$oldstable-backports" -e "$stable-backports" "$filename" || \ sed -i -e 's/^.*-backports.*$//' "$filename" done fi
La rete non è raggiungibile: dataproccontrol-REGION.googleapis.com/...*
Causa: la rete VPC del cluster Dataproc potrebbe non avere un route a internet obbligatorio. L'agente Dataproc in esecuzione sulle VM del cluster ha bisogno di una route per internet per accedere all'API di controllo Dataproc per ottenere gli stati dei job e dei report. La route predefinita generata dal sistema a internet potrebbe essere stata eliminata.
Soluzione:
Aggiungi una route a internet alla rete VPC del cluster:
0.0.0.0/0
per IPv4 e::/0
per IPv6 con--next-hop-gateway=default-internet-gateway
. Aggiungi regole firewall per il controllo dell'accesso.
Leggere le informazioni correlate
- Strumenti di monitoraggio e risoluzione dei problemi di Dataproc
- Diagnostica dei cluster Dataproc
- Domande frequenti su Dataproc