Vous pouvez exécuter la commande gcloud dataproc clusters diagnose
pour collecter les journaux système, Spark, Hadoop et Dataproc, les fichiers de configuration du cluster, ainsi que d'autres informations que vous pouvez examiner ou partager avec l'assistance Google afin de résoudre les problèmes liés à un cluster ou une tâche Dataproc.
La commande importe les données de diagnostic et le résumé dans le bucket de préproduction Dataproc dans Cloud Storage.
Exécuter la commande "diagnose cluster" (diagnostiquer le cluster) de la Google Cloud CLI
Exécutez la commande gcloud dataproc clusters diagnose
pour créer et afficher l'emplacement du fichier d'archive de diagnostic.
gcloud dataproc clusters diagnose CLUSTER_NAME \ --region=REGION \ OPTIONAL FLAGS ...
Remarques :
- CLUSTER_NAME: nom du cluster à diagnostiquer.
- REGION: région du cluster, par exemple
us-central1
. OPTIONAL FLAGS:
--job-ids
: cette option permet de collecter les journaux de sortie du pilote de tâche, des événements Spark, de l'application YARN et de Spark Lens, en plus des fichiers journaux par défaut, pour une liste spécifiée d'ID de tâches séparés par une virgule. Pour les tâches MapReduce, seuls les journaux d'application YARN sont collectés. L'agrégation des journaux YARN doit être activée pour la collecte des journaux d'application YARN.--yarn-application-ids
: cette option permet de collecter les journaux de sortie du pilote de tâche, des événements Spark, de l'application YAML et de Spark Lens en plus des fichiers journaux par défaut, pour une liste spécifiée d'ID d'application YARN séparés par une virgule. L'agrégation des journaux YARN doit être activée pour la collecte des journaux d'application YAML.--start-time
avec--end-time
: utilisez les deux options pour spécifier une période, au format%Y-%m-%dT%H:%M:%S.%fZ
, pour la collecte des données de diagnostic. La spécification d'une période active également la collecte des journaux d'autoscaling Dataproc pendant cette période (par défaut, les journaux d'autoscaling Dataproc ne sont pas collectés dans les données de diagnostic).--tarball-access
=GOOGLE_DATAPROC_DIAGNOSE
Utilisez cette option pour envoyer le fichier tar de diagnostic à l'équipe d'assistance Google Cloud ou lui donner accès à ce fichier. Fournissez également les informations suivantes à l'équipe d'assistance Google Cloud:- Chemin d'accès Cloud Storage du fichier tar de diagnostic, ou
- Bucket de configuration du cluster, UUID du cluster et ID d'opération de la commande "diagnose"
Exécuter le script de diagnostic à partir du nœud maître du cluster (si nécessaire)
La commande gcloud dataproc clusters diagnose
peut échouer ou expirer si un cluster est en état d'erreur et ne peut pas accepter de tâches de diagnostic du serveur Dataproc. Au lieu d'exécuter la commande "diagnose", vous pouvez vous connecter au nœud maître du cluster à l'aide de SSH, télécharger le script de diagnostic, puis l'exécuter localement sur le nœud maître.
gcloud compute ssh HOSTNAME
gsutil cp gs://dataproc-diagnostic-scripts/diagnostic-script.sh .
sudo bash diagnostic-script.sh
Le fichier tar de l'archive de diagnostic est enregistré dans un répertoire local. Le résultat de la commande indique l'emplacement du fichier tar et fournit des instructions pour l'importer dans un bucket Cloud Storage.
Partager des données de diagnostic
Pour partager l'archive:
- Téléchargez l'archive à partir de Cloud Storage, puis partagez l'archive téléchargée.
- Modifiez les autorisations sur l'archive pour permettre à d'autres utilisateurs ou projets Google Cloud d'accéder au fichier.
Exemple: La commande suivante ajoute des autorisations de lecture à l'archive dans un test-project
:
gsutil -m acl ch -g test-project:R PATH_TO_ARCHIVE}
Récapitulatif du diagnostic et contenu de l'archive
La commande diagnose
génère un résumé de diagnostic et un fichier tar d'archive contenant des fichiers de configuration du cluster, des journaux, ainsi que d'autres fichiers et informations. Le fichier tar d'archive est écrit dans le bucket de préproduction Dataproc dans Cloud Storage.
Résumé de diagnostic:le script de diagnostic analyse les données collectées et génère un summary.txt
à la racine de l'archive de diagnostic. Ce récapitulatif fournit une vue d'ensemble de l'état du cluster, y compris l'état du disque, du disque, du réseau YARN et HDFS, et inclut des avertissements pour vous alerter en cas de problèmes potentiels.
Fichier tar d'archives:les sections suivantes répertorient les fichiers et les informations contenus dans le fichier tar d'archive de diagnostic.
Informations sur les services et daemons
Commande exécutée | Emplacement dans l'archive |
---|---|
yarn node -list -all |
/system/yarn-nodes.log |
hdfs dfsadmin -report -live -decommissioning |
/system/hdfs-nodes.log |
hdfs dfs -du -h |
/system/hdfs-du.log |
service --status-all |
/system/service.log |
systemctl --type service |
/system/systemd-services.log |
curl "http://${HOSTNAME}:8088/jmx" |
/metrics/resource_manager_jmx |
curl "http://${HOSTNAME}:8088/ws/v1/cluster/apps" |
/metrics/yarn_app_info |
curl "http://${HOSTNAME}:8088/ws/v1/cluster/nodes" |
/metrics/yarn_node_info |
curl "http://${HOSTNAME}:9870/jmx" |
/metrics/namenode_jmx |
Informations sur la JVM
Commande exécutée | Emplacement dans l'archive |
---|---|
jstack -l "${DATAPROC_AGENT_PID}" |
jstack/agent_${DATAPROC_AGENT_PID}.jstack |
jstack -l "${PRESTO_PID}" |
jstack/agent_${PRESTO_PID}.jstack |
jstack -l "${JOB_DRIVER_PID}" |
jstack/driver_${JOB_DRIVER_PID}.jstack |
jinfo "${DATAPROC_AGENT_PID}" |
jinfo/agent_${DATAPROC_AGENT_PID}.jstack |
jinfo "${PRESTO_PID}" |
jinfo/agent_${PRESTO_PID}.jstack |
jinfo "${JOB_DRIVER_PID}" |
jinfo/agent_${JOB_DRIVER_PID}.jstack |
Informations sur le système Linux
Commande exécutée | Emplacement dans l'archive |
---|---|
df -h |
/system/df.log |
ps aux |
/system/ps.log |
free -m |
/system/free.log |
netstat -anp |
/system/netstat.log |
sysctl -a |
/system/sysctl.log |
uptime |
/system/uptime.log |
cat /proc/sys/fs/file-nr |
/system/fs-file-nr.log |
ping -c 1 |
/system/cluster-ping.log |
Fichiers journaux
Élément(s) inclus | Emplacement dans l'archive |
---|---|
Tous les journaux de /var/log avec les préfixes suivants dans leur nom de fichier:cloud-sql-proxy dataproc druid gcdp google hadoop hdfs hive knox presto spark syslog yarn zookeeper |
Les fichiers sont placés dans le dossier d'archive logs et conservent leur nom d'origine. |
Journaux de démarrage de nœuds Dataproc pour chaque nœud (maîtres et de calcul) de votre cluster. | Les fichiers sont placés dans le dossier d'archive node_startup , qui contient des sous-dossiers distincts pour chaque machine du cluster. |
Journaux de la passerelle des composants filtrés par la commande journalctl -u google-dataproc-component-gateway |
/logs/google-dataproc-component-gateway.log |
Fichiers de configuration
Élément(s) inclus | Emplacement dans l'archive |
---|---|
Métadonnées de la VM | /conf/dataproc/metadata |
Variables d'environnement de /etc/environment |
/conf/dataproc/environment |
Propriétés Dataproc | /conf/dataproc/dataproc.properties |
Tous les fichiers de /etc/google-dataproc/ |
/conf/dataproc/ |
Tous les fichiers de /etc/hadoop/conf/ |
/conf/hadoop/ |
Tous les fichiers de /etc/hive/conf/ |
/conf/hive/ |
Tous les fichiers de /etc/hive-hcatalog/conf/ |
/conf/hive-hcatalog/ |
Tous les fichiers de /etc/knox/conf/ |
/conf/knox/ |
Tous les fichiers de /etc/pig/conf/ |
/conf/pig/ |
Tous les fichiers de /etc/presto/conf/ |
/conf/presto/ |
Tous les fichiers de /etc/spark/conf/ |
/conf/spark/ |
Tous les fichiers de /etc/tez/conf/ |
/conf/tez/ |
Tous les fichiers de /etc/zookeeper/conf/ |
/conf/zookeeper/ |