Utiliser l'outil gcpdiag
gcpdiag
est un outil Open Source. Il ne s'agit pas d'un produit Google Cloud faisant l'objet d'une assistance officielle.
Vous pouvez utiliser l'outil gcpdiag
pour vous aider à identifier et à résoudre les problèmes liés au projet Google Cloud. Pour plus d'informations, consultez le projet gcpdiag sur GitHub.
L'outil gcpdiag
vous aide à découvrir les problèmes de création de clusters Dataproc suivants en effectuant les vérifications suivantes:
- Erreurs de rupture de stock:évalue les journaux de l'explorateur de journaux pour détecter les ruptures de stock dans les régions et les zones.
- Quota insuffisant:vérifie la disponibilité des quotas dans le projet de cluster Dataproc.
- Configuration réseau incomplète:effectue des tests de connectivité réseau, y compris des vérifications des règles de pare-feu nécessaires et de la configuration des adresses IP externes et internes. Si le cluster a été supprimé, l'outil
gcpdiag
ne peut pas effectuer de vérification de la connectivité réseau. - Configuration interprojet incorrecte:recherche des comptes de service interprojets et examine l'application des rôles et des règles d'administration supplémentaires.
- Rôles IAM VPC partagés manquants:si le cluster Dataproc utilise un réseau VPC partagé, vérifiez l'ajout des rôles de compte de service requis.
- Échecs d'action d'initialisation: évalue les journaux de l'explorateur de journaux pour détecter les échecs et les délais avant expiration des scripts d'action d'initialisation.
Pour obtenir la liste des étapes de création de clusters gcpdiag
, consultez la section É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
- Terminez l'exécution, puis copiez la commande suivante.
- Ouvrez la console Google Cloud et activez Cloud Shell. Ouvrir la console Cloud
- Collez la commande copiée.
- Exécutez la commande
gcpdiag
, qui télécharge l'image Dockergcpdiag
, puis effectue des vérifications de diagnostic. Le cas échéant, suivez les instructions de sortie pour corriger les échecs de vérification.
gcpdiag runbook dataproc/cluster-creation \
--parameter project_id=PROJECT_ID \
--parameter cluster_name=CLUSTER_NAME \
--parameter OPTIONAL_FLAGS
Docker
Vous pouvez exécuter gcpdiag
à l'aide d'un wrapper qui démarre gcpdiag
dans un conteneur Docker. Docker ou Podman doivent être installés.
- Copiez et exécutez la commande suivante sur votre station de travail locale :
curl https://gcpdiag.dev/gcpdiag.sh >gcpdiag && chmod +x gcpdiag
- Exécutez la commande
gcpdiag
../gcpdiag runbook dataproc/cluster-creation \ --parameter project_id=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 du cluster Dataproc cible de 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 cluster Dataproc cible de votre projetservice_account
: compte de service de VM du cluster Dataprocsubnetwork
: chemin d'accès complet de l'URI du sous-réseau du cluster Dataprocinternal_ip_only
: vrai ou fauxcross_project
: ID interprojet si le cluster Dataproc utilise un compte de service de VM dans un autre projet
Options utiles :
--universe-domain
: le cas échéant, le domaine cloud souverain du partenaire de confiance hébergeant la ressource.--parameter
ou-p
: paramètres du runbook
Pour obtenir la liste et la description de toutes les options de l'outil gcpdiag
, consultez les instructions d'utilisation de gcpdiag
.
Comprendre et corriger les erreurs de création de cluster
Cette section répertorie les messages d'erreur Dataproc, ainsi que leurs causes et solutions courantes.
L'opération a expiré:seuls 0 des deux gestionnaires de nœuds/nœuds de données minimum requis sont en cours d'exécution.
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 :
- Vérifiez les avertissements des règles de pare-feu.
- Assurez-vous que les règles de pare-feu appropriées sont en place. Pour en savoir plus, consultez la section Présentation des règles de pare-feu Dataproc par défaut.
- Effectuez un test de connectivité dans la console Google Cloud pour déterminer ce qui bloque la communication entre le nœud maître et les nœuds de calcul.
Autorisation
compute.subnetworks.use
requise pourprojects/{projectId}/regions/{region}/subnetworks/{subnetwork}
Cause: cette erreur peut se produire lorsque vous essayez de configurer un cluster Dataproc à l'aide d'un réseau VPC dans un autre projet et que le compte de service de l'agent de service Dataproc ne dispose pas des autorisations nécessaires. sur le projet 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 pour répondre à la requête(resource type:compute)
.Cause: La zone utilisée pour créer le cluster ne dispose pas de ressources suffisantes.
Solution :
- Créez le cluster dans une autre zone.
- Utilisez la fonctionnalité de sélection de zone automatique de Dataproc.
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 des quotas supplémentaires à partir de la 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 :
- Consultez les consignes et remarques concernant les actions d'initialisation.
- Examinez les journaux de sortie. Le message d'erreur doit fournir un lien vers les journaux dans Cloud Storage.
É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 nécessaire pour provisionner les nœuds de cluster demandés n'est pas disponible.
Solution :
- Créez un cluster sur un sous-réseau ou un réseau différent.
- Réduire l'utilisation du réseau pour libérer de l'espace d'adresses IP
- Attendez qu'un espace 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 de rétroportages Debian oldstable a été purgé.
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
Le réseau est inaccessible: dataproccontrol-REGION.googleapis.com/...*
Cause: Le réseau VPC du cluster Dataproc ne dispose peut-être pas de la route Internet requise. L'agent Dataproc exécuté sur les VM du cluster a besoin d'un chemin d'accès à Internet pour accéder à l'API de contrôle Dataproc afin d'obtenir des tâches et de signaler l'état. La route par défaut générée par le système vers Internet a peut-être été supprimée.
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.
Lire des informations associées
- Outils de surveillance et de dépannage Dataproc
- Diagnostiquer des clusters Dataproc
- Questions fréquentes sur Dataproc