Cette page fournit des informations pour vous aider à surveiller et à déboguer les tâches Dataproc, et à comprendre les messages d'erreur des tâches Dataproc.
Surveillance et débogage des tâches
Utilisez Google Cloud CLI'API REST Dataproc et la console Google Cloud pour analyser et déboguer les tâches Dataproc.
CLI gcloud
Pour examiner le statut d'une tâche en cours d'exécution, procédez comme suit :
gcloud dataproc jobs describe job-id \ --region=region
Pour afficher les résultats du pilote de la tâche, consultez la section Afficher le résultat du job.
API REST
Appelez jobs.get pour examiner les champs JobStatus.State, JobStatus.Substate, JobStatus.details et YarnApplication d'une tâche.
Console
Pour afficher les résultats du pilote de la tâche, consultez la section Afficher le résultat du job.
Pour afficher le journal de l'agent dataproc dans Logging, sélectionnez Dataproc Cluster→Cluster Name→Cluster UUID (Cluster Dataproc > Nom du cluster > UUID) dans le sélecteur de cluster de l'explorateur de journaux.

Utilisez ensuite le sélecteur de journaux pour sélectionner les journaux google.dataproc.agent
.

Afficher les journaux de tâches dans Logging
Si une tâche échoue, vous pouvez accéder aux journaux des tâches dans Logging.
Déterminer l'émetteur d'une tâche
La recherche des détails d'une tâche affichera l'émetteur de la tâche dans le champ submittedBy
. Par exemple, le résultat de la tâche suivant montre que user@domain
a envoyé l'exemple de tâche à un cluster.
... placement: clusterName: cluster-name clusterUuid: cluster-uuid reference: jobId: job-uuid projectId: project status: state: DONE stateStartTime: '2018-11-01T00:53:37.599Z' statusHistory: - state: PENDING stateStartTime: '2018-11-01T00:33:41.387Z' - state: SETUP_DONE stateStartTime: '2018-11-01T00:33:41.765Z' - details: Agent reported job success state: RUNNING stateStartTime: '2018-11-01T00:33:42.146Z' submittedBy: user@domain
Messages d'erreur
La tâche n'a pas été acquise
Cela indique que l'agent Dataproc sur le nœud maître n'a pas pu acquérir la tâche à partir du plan de contrôle. Cela se produit souvent en raison de problèmes de mémoire saturée ou de réseau. Si le job s'est exécuté correctement auparavant et que vous n'avez pas modifié les paramètres de configuration du réseau, l'erreur OOM est la cause la plus probable. Elle est souvent due à l'envoi de nombreux jobs s'exécutant simultanément ou de jobs dont les pilotes consomment beaucoup de mémoire (par exemple, les jobs qui chargent de grands ensembles de données en mémoire).
Aucun agent actif n'a été trouvé sur les nœuds maîtres.
Cela indique que l'agent Dataproc sur le nœud maître n'est pas actif et ne peut pas accepter de nouveaux jobs. Cela se produit souvent en raison de problèmes de mémoire saturée ou de réseau, ou si la VM du nœud maître est défectueuse. Si le job s'est exécuté correctement auparavant et que vous n'avez pas modifié les paramètres de configuration réseau, la cause la plus probable est une erreur de mémoire insuffisante (OOM, Out Of Memory). Cela est souvent dû à l'envoi de nombreux jobs s'exécutant simultanément ou de jobs dont les pilotes consomment beaucoup de mémoire (jobs qui chargent de grands ensembles de données en mémoire).
Pour résoudre le problème, vous pouvez essayer les actions suivantes :
- Redémarrez le job.
- Connectez-vous au nœud maître du cluster à l'aide de SSH, puis déterminez quelle tâche ou autre ressource utilise le plus de mémoire.
Si vous ne parvenez pas à vous connecter au nœud maître, vous pouvez consulter les journaux du port série (console).
Générez un package de diagnostic contenant le syslog et d'autres données.
Tâche introuvable
Cette erreur indique que le cluster a été supprimé pendant l'exécution d'un job. Vous pouvez effectuer les actions suivantes pour identifier le principal qui a effectué la suppression et confirmer que la suppression du cluster s'est produite lorsqu'un job était en cours d'exécution :
Affichez les journaux d'audit Dataproc pour identifier le compte principal qui a effectué l'opération de suppression.
Utilisez Logging ou gcloud CLI pour vérifier que le dernier état connu de l'application YARN était RUNNING :
- Utilisez le filtre suivant dans Logging :
resource.type="cloud_dataproc_cluster" resource.labels.cluster_name="CLUSTER_NAME" resource.labels.cluster_uuid="CLUSTER_UUID" "YARN_APPLICATION_ID State change from"
- Exécutez
gcloud dataproc jobs describe job-id --region=REGION
, puis vérifiezyarnApplications: > STATE
dans le résultat.
Si le principal qui a supprimé le cluster est le compte de service de l'agent de service Dataproc, vérifiez si le cluster a été configuré avec une durée de suppression automatique inférieure à la durée du job.
Pour éviter les erreurs Task not found
, utilisez l'automatisation pour vous assurer que les clusters ne sont pas supprimés avant la fin de toutes les tâches en cours d'exécution.
Aucun espace restant sur le dispositif
Dataproc écrit les données HDFS et temporaires sur le disque. Ce message d'erreur indique que le cluster a été créé avec un espace disque insuffisant. Pour analyser et éviter cette erreur :
Vérifiez la taille du disque principal du cluster indiquée dans l'onglet Configuration de la page Détails du cluster de la console Google Cloud . La taille de disque minimale recommandée est de
1000 GB
pour les clusters utilisant le type de machinen1-standard-4
et de2 TB
pour les clusters utilisant le type de machinen1-standard-32
.Si la taille du disque du cluster est inférieure à la taille recommandée, recréez le cluster avec au moins la taille de disque recommandée.
Si la taille du disque est égale ou supérieure à la taille recommandée, utilisez SSH pour vous connecter à la VM principale du cluster, puis exécutez
df -h
sur la VM principale pour vérifier l'utilisation du disque et déterminer si de l'espace disque supplémentaire est nécessaire.