Résoudre les problèmes de création de clusters

Utiliser l'outil gcpdiag

gcpdiag est un outil Open Source. Il ne s'agit pas d'un produit Google Cloud officiellement compatible. Vous pouvez utiliser l'outil gcpdiag pour identifier et corriger les problèmes liés à Google Cloud. les problèmes du projet. Pour en savoir plus, consultez les projet gcpdiag sur GitHub.

L'outil gcpdiag vous aide à découvrir les éléments Dataproc suivants : de création du cluster en effectuant les vérifications suivantes:

  • Erreurs liées aux ruptures de stock:évalue les journaux de l'explorateur de journaux pour détecter les ruptures de stock dans des régions et des zones.
  • Quota insuffisant:vérifie la disponibilité des quotas dans Dataproc de votre projet de cluster.
  • Configuration réseau incomplète:permet de tester la connectivité réseau. y compris la vérification des règles de pare-feu nécessaires et des adresses IP externes et internes configuration. Si le cluster a été supprimé, l'outil gcpdiag ne peut pas effectuez une vérification de la connectivité réseau.
  • Configuration multiprojet incorrecte:le service vérifie la présence de services inter-projets. et examine d'autres rôles et l'application des règles d'administration.
  • Rôles IAM manquants dans le VPC partagé:si le cluster Dataproc utilise un réseau VPC partagé, vérifie l'ajout du service requis rôles de compte de service.
  • Échec des actions d'initialisation: évalue l'explorateur de journaux les journaux pour détecter les échecs et les délais avant expiration du script d'action d'initialisation.

Pour obtenir la liste des étapes de création d'un cluster gcpdiag, consultez Étapes potentielles.

Exécuter la commande gcpdiag

Vous pouvez exécuter la commande gcpdiag à partir de Cloud Shell dans la console Google Cloud ou dans un conteneur Docker.

console Google Cloud

  1. Effectuez la commande suivante, puis copiez-la.
  2. gcpdiag runbook dataproc/cluster-creation \
      --project=PROJECT_ID \
      --parameter cluster_name=CLUSTER_NAME \
      --parameter OPTIONAL_FLAGS
  3. Ouvrez la console Google Cloud et activez Cloud Shell.
  4. Ouvrir la console Cloud
  5. Collez la commande copiée.
  6. Exécutez la commande gcpdiag qui télécharge l'image Docker gcpdiag. puis effectue des vérifications de diagnostic. Le cas échéant, suivez les instructions de sortie pour corriger les échecs de vérification.

Docker

Vous pouvez exécutez gcpdiag à l'aide d'un wrapper qui démarre gcpdiag dans un Conteneur Docker. ou Docker Podman doit être installé.

  1. Copiez et exécutez la commande suivante sur votre poste de travail local.
    curl https://gcpdiag.dev/gcpdiag.sh >gcpdiag && chmod +x gcpdiag
  2. Exécutez la commande gcpdiag.
    ./gcpdiag runbook dataproc/cluster-creation \
      --project=PROJECT_ID \
      --parameter cluster_name=CLUSTER_NAME \
      --parameter OPTIONAL_FLAGS

Affichez les paramètres disponibles pour ce runbook.

Remplacez les éléments suivants :

  • PROJECT_ID: ID du projet contenant la ressource
    • CLUSTER_NAME: nom de la cible Cluster Dataproc dans votre projet
    • OPTIONAL_PARAMETERS: ajoutez un ou plusieurs des paramètres facultatifs suivants. Ces paramètres sont obligatoires si le cluster a été supprimé.
      • cluster_uuid: UUID du Dataproc cible. dans votre projet.
      • service_account: cluster Dataproc Compte de service de VM
      • subnetwork: sous-réseau du cluster Dataproc chemin d'URI complet
      • internal_ip_only: vrai ou faux
      • cross_project: ID multiprojet si le Un cluster Dataproc utilise un compte de service de VM dans un autre projet

Options utiles :

Pour obtenir la liste et la description de tous les indicateurs de l'outil gcpdiag, consultez la Instructions d'utilisation de gcpdiag.

Comprendre et corriger les erreurs de création de clusters

Cette section liste les messages d'erreur Dataproc et leurs causes courantes et des solutions.

  • L'opération a expiré:seul 0 nœud de données/gestionnaire de nœuds en cours d'exécution sur 2 minimum requis.

    Cause: Le nœud maître ne peut pas créer le cluster, car il ne peut pas communiquer avec les nœuds de calcul.

    Solution :

  • Autorisation compute.subnetworks.use requise pour projects/{projectId}/regions/{region}/subnetworks/{subnetwork}

    Cause: cette erreur peut se produire lorsque vous tentez de configurer un Dataproc à l'aide d'un réseau VPC d'un autre projet, et le cluster Dataproc Agent de service ne dispose pas des autorisations nécessaires sur le VPC partagé qui héberge le réseau.

    Solution: suivez la procédure décrite dans la section Créer un cluster utilisant un réseau VPC dans un autre projet.

  • La zone projects/zones/{zone} ne dispose pas de suffisamment de ressources disponibles pour traiter la requête (resource type:compute)

    Cause: La zone utilisée pour créer le cluster ne dispose pas de ressources suffisantes.

    Solution :

  • Erreurs de dépassement de quota

    Quota de CPUS/CPUS_ALL_REGIONS insuffisant
    Quota insuffisant pour "DISKS_TOTAL_GB"
    Quota insuffisant pour "IN_USE_ADDRESSES"

    Cause: votre requête de processeur, de disque ou d'adresse IP dépasse votre quota disponible.

    Solution: demandez une augmentation de quota auprès du Console Google Cloud

  • Échec de l'action d'initialisation

    Cause: l'installation de l'action d'initialisation fournie lors de la création du cluster a échoué.

    Solution :

  • Échec de l'initialisation du nœud {cluster-name}: {component}

    Cause: L'initialisation d'un composant Dataproc a échoué.

    Solution: voir:

  • Échec de la création du cluster: espace d'adresses IP épuisé

    Cause: l'espace d'adresses IP requis pour provisionner les nœuds de cluster demandés est indisponible.

    Solution :

    • Créez un cluster sur un autre sous-réseau ou réseau.
    • Réduisez l'utilisation du réseau pour libérer de l'espace d'adressage IP.
    • Attendez qu'un espace d'adresses IP suffisant soit disponible sur le réseau.
  • Message d'erreur du script d'initialisation: Le dépôt REPO_NAME ne contient plus de fichier de version

    Cause: le dépôt Debian rétroporté a été supprimé définitivement.

    Solution :

    Ajoutez le code suivant avant le code qui exécute apt-get dans votre script d'initialisation.

    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
    
  • Réseau inaccessible: dataproccontrol-REGION.googleapis.com/...*

    Cause: le réseau VPC du cluster Dataproc ne dispose peut-être pas de l'autorisation vers Internet. Agent Dataproc exécuté sur les VM de cluster a besoin d'une route vers Internet pour accéder à l'API de contrôle Dataproc pour obtenir des jobs et des rapports sur leur état. La route par défaut générée par le système à Internet ont peut-être été supprimés.

    Solution :

    Ajoutez une route vers Internet à votre réseau VPC de cluster: 0.0.0.0/0 pour IPv4 et ::/0 pour IPv6 avec --next-hop-gateway=default-internet-gateway. Ajoutez des règles de pare-feu pour le contrôle des accès.