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 la Google Cloud CLI, l'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 de la tâche.
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 de la tâche.
Pour afficher le journal de l'agent dataproc dans Logging (Journalisation), 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 la tâche s'est exécutée correctement précédemment et que vous n'avez pas modifié les paramètres de configuration réseau, l'erreur OOM est la cause la plus probable, souvent le résultat de l'envoi de nombreuses tâches exécutées simultanément ou de tâches dont les pilotes consomment une quantité de mémoire importante (par exemple, des tâches qui chargent de grands ensembles de données dans la mémoire).
Aucun agent actif n'a été détecté sur le ou 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 nouvelles tâches. Cela se produit souvent en raison de problèmes de mémoire saturée (OOM) ou de réseau, ou si la VM du nœud maître n'est pas saine. Si la tâche s'est exécutée correctement précédemment et que vous n'avez pas modifié les paramètres de configuration réseau, l'erreur OOM est la cause la plus probable, qui résulte souvent de l'envoi de nombreuses tâches exécutées simultanément ou de tâches dont les pilotes consomment une quantité de mémoire importante (tâches qui chargent de grands ensembles de données dans la mémoire). Pour résoudre ce problème, redémarrez (arrêtez, puis démarrez) le cluster Dataproc ou réessayez d'envoyer la tâche plus tard. Remarque:L'arrêt d'un cluster entraîne l'échec de toutes les tâches en cours d'exécution.
Tâche introuvable
Cette erreur indique que le cluster a été supprimé alors qu'une tâche était en cours d'exécution. 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'une tâche était en cours d'exécution:
Affichez les journaux d'audit Dataproc pour identifier le principal qui a effectué l'opération de suppression.
Utilisez Logging ou gcloud CLI pour vérifier que l'état connu de l'application YARN était RUNNING:
- Utilisez le filtre suivant dans la section "Journalisation" :
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 la sortie.
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.