Risolvi i problemi relativi alla creazione del cluster

Usa 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 relativi a Google Cloud per risolvere i problemi del progetto. Per maggiori informazioni, consulta il progetto gcpdiag su GitHub.

Lo strumento gcpdiag consente di scoprire i seguenti dati di Dataproc di creazione del cluster eseguendo questi 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 i controlli delle regole del firewall necessarie e della configurazione degli indirizzi IP esterni e interni. 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 i ruoli degli account.
  • 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 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 poi copia il seguente comando.
  2. GOOGLE_AUTH_TOKEN=GOOGLE_AUTH_TOKEN \
      gcpdiag runbook dataproc/cluster-creation \
        --parameter project_id=PROJECT_ID \
        --parameter cluster_name=CLUSTER_NAME \
        --parameter OPTIONAL_FLAGS \
        --auto --reason=REASON
  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, quindi esegui i controlli diagnostici. Se applicabile, segui le istruzioni di output per correggere i controlli non riusciti.

Docker

Puoi eseguire gcpdiag utilizzando un wrapper che avvia gcpdiag in un container Docker. È necessario installare Docker o Podman.

  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 \
        --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 che contiene la risorsa
    • CLUSTER_NAME: il nome del cluster Dataproc di destinazione nel 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: l'account di servizio VM del cluster Dataproc
      • 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.

  • Operazione scaduta: sono in esecuzione solo 0 su 2 datanode/node manager obbligatori minimi.

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

    Soluzione:

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

    Causa: questo errore può verificarsi quando tenti di configurare 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 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:

  • Errori di superamento quota

    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: non è stato possibile inizializzare un componente Dataproc.

    Soluzione: fai riferimento a:

  • Creazione del cluster non riuscita: spazio di 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 di 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 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 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.