Risolvi i problemi relativi alla creazione del cluster

Usa lo strumento gcpdiag

gcpdiag è uno strumento open source. Non è un prodotto Google Cloud ufficialmente supportato. Puoi utilizzare lo strumento gcpdiag per identificare e risolvere i problemi relativi a Google Cloud per risolvere i problemi del progetto. Per ulteriori informazioni, consulta progetto gcpdiag su GitHub.

Lo strumento gcpdiag consente di scoprire i seguenti dati di Dataproc di creazione del cluster eseguendo questi controlli:

  • Errori di stoccaggio: valuta i log di Esplora log per rilevare le scorte in regioni e zone.
  • Quota insufficiente: controlla la disponibilità di quota in Dataproc progetto di cluster.
  • Configurazione di rete incompleta: esegue test di connettività di rete. inclusi i controlli delle regole firewall necessarie e degli IP interni ed esterni configurazione. Se il cluster è stato eliminato, lo strumento gcpdiag non può eseguire un controllo della connettività di rete.
  • Configurazione tra progetti non corretta: verifica la presenza del servizio tra progetti ed esamina ulteriori ruoli e l'applicazione dei criteri dell'organizzazione.
  • Ruoli IAM VPC condivisi mancanti: se il cluster Dataproc utilizza una rete VPC condiviso, verifica l'aggiunta del servizio richiesto ruoli per l'account di servizio.
  • Errori dell'azione di inizializzazione: valuta Esplora log per scoprire errori e timeout degli script delle azioni di inizializzazione.

Per un elenco di gcpdiag passaggi di creazione del cluster, consulta Potenziali passaggi.

Esegui il comando gcpdiag

Puoi eseguire il comando gcpdiag da Cloud Shell nella console Google Cloud o all'interno di un container Docker.

Console Google Cloud

  1. Completa e copia il seguente comando.
  2. gcpdiag runbook dataproc/cluster-creation \
      --project=PROJECT_ID \
      --parameter cluster_name=CLUSTER_NAME \
      --parameter OPTIONAL_FLAGS
  3. Apri la console Google Cloud e attiva Cloud Shell.
  4. Apri la console Cloud
  5. Incolla il comando copiato.
  6. Esegui il comando gcpdiag, che scarica l'immagine Docker gcpdiag, ed esegue i controlli diagnostici. Se applicabile, segui le istruzioni dell'output per correggere i controlli non superati.

Docker

Puoi eseguire gcpdiag utilizzando un wrapper che inizia gcpdiag in Container Docker. Docker o Podman deve essere installato.

  1. Copia ed esegui il comando seguente sulla workstation locale.
    curl https://gcpdiag.dev/gcpdiag.sh >gcpdiag && chmod +x gcpdiag
  2. Esegui il comando gcpdiag.
    ./gcpdiag runbook dataproc/cluster-creation \
      --project=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 target Cluster Dataproc nel tuo progetto
    • OPTIONAL_PARAMETERS: aggiungi uno o più dei seguenti elementi seguenti parametri facoltativi. Questi parametri sono obbligatori se il cluster è stato eliminato.
      • cluster_uuid: l'UUID di Dataproc di destinazione nel tuo progetto
      • service_account: il cluster Dataproc Account di servizio VM
      • subnetwork: la subnet del cluster Dataproc percorso URI completo
      • internal_ip_only: vero o falso
      • cross_project: l'ID tra progetti se Il cluster Dataproc utilizza un account di servizio VM in un altro progetto

Flag utili:

Per un elenco e una descrizione di tutti i flag dello strumento gcpdiag, consulta le Istruzioni per l'utilizzo di gcpdiag.

Comprendi e correggi gli errori di creazione del cluster

In questa sezione sono elencati i messaggi di errore di Dataproc e le relative cause comuni. e soluzioni.

  • Timeout dell'operazione: solo 0 datanodi/gestori dei nodi obbligatori su 2 sono in esecuzione.

    Causa: il nodo master non è in grado di creare il cluster perché non può comunicare con i nodi worker.

    Soluzione:

  • Autorizzazione compute.subnetworks.use richiesta per projects/{projectId}/regions/{region}/subnetworks/{subnetwork}

    Causa: questo errore può verificarsi quando tenti di configurare un progetto Dataproc utilizzando una rete VPC in un altro progetto e Dataproc Agente di servizio l'account di servizio non dispone delle autorizzazioni necessarie sul VPC condiviso progetto che ospita la rete.

    Soluzione: segui i passaggi elencati in Crea 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:

  • Errori di quota superata

    Quota CPUS/CPUS_ALL_REGIONS insufficiente
    "DISKS_TOTAL_GB" insufficiente quota
    "IN_USE_ADDRESSES" insufficiente quota

    Causa: CPU, disco, o l'indirizzo IP supera le tue la quota disponibile.

    Soluzione: richiedi una quota aggiuntiva al Console Google Cloud.

  • Azione di inizializzazione non riuscita

    Causa: l'azione di inizializzazione specificata durante la creazione del cluster non è riuscita per l'installazione.

    Soluzione:

  • Impossibile inizializzare il nodo {cluster-name}: {component}

    Causa: impossibile inizializzare un componente Dataproc.

    Soluzione: fai riferimento a:

  • Creazione del cluster non riuscita: spazio di indirizzi IP esaurito

    Causa: lo spazio di indirizzi IP necessario per il provisioning dei nodi cluster richiesti è non disponibile.

    Soluzione:

    • Crea un cluster su una subnet o una rete diversa.
    • Riduci l'utilizzo sulla rete per liberare spazio di indirizzi IP.
    • Attendi che non sia disponibile spazio IP sufficiente sulla rete.
  • Messaggio di errore dello script di inizializzazione: il repository REPO_NAME non ha più un file di release

    Causa: il repository di backport oldstable Debian è stato eliminato definitivamente.

    Soluzione:

    Aggiungi il seguente codice 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 disporre di una verso internet. Agente Dataproc in esecuzione sulle VM del cluster necessita di una route a internet per accedere all'API di controllo Dataproc per ottenere offerte di lavoro e segnalare lo stato. La route predefinita generata dal sistema a internet potrebbero essere state eliminate.

    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.