Vous pouvez exécuter gcloud dataproc clusters diagnose
pour collecter les journaux système, Spark, Hadoop et Dataproc, les fichiers de configuration des clusters,
et d'autres informations que vous pouvez consulter ou partager avec l'assistance Google
pour vous aider à dépanner un cluster ou un job 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 de diagnostic du cluster 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
: vous pouvez utiliser cet indicateur pour collecter les journaux du pilote de tâche, de l'événement Spark, de l'application YARN et de la sortie de Spark Lens, en plus des fichiers journaux par défaut, pour une liste d'ID de tâche spécifiée, séparée 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
: vous pouvez utiliser cet indicateur pour collecter les journaux de sortie du pilote de tâche, de l'événement Spark, de l'application YARN et de Spark Lense en plus des fichiers journaux par défaut, pour une liste d'ID d'application YARN spécifiée, séparée par une virgule. L'agrégation des journaux YARN doit être activée pour la collecte des journaux d'application YARN.--start-time
avec--end-time
: utilisez les deux indicateurs pour spécifier une plage de temps, au format%Y-%m-%dT%H:%M:%S.%fZ
, pour la collecte des données de diagnostic. Spécifier une plage de dates permet également de collecter les 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 cet indicateur pour envoyer l'élément ou lui donner accès de diagnostic au équipe d'assistance Google Cloud. Fournissez également les informations suivantes à l'équipe d'assistance Google Cloud:- Chemin d'accès Cloud Storage du fichier tar de diagnostic, ou
- le bucket de configuration du cluster, l'UUID du cluster et l'ID d'opération de la commande "diagnose"
Exécutez 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 se trouve en état d'erreur et ne peut pas accepter les tâches de diagnostic du serveur Dataproc. Au lieu d'exécuter
diagnostic, vous pouvez
vous connecter en SSH au nœud maître du cluster ;
téléchargez le script de diagnostic, puis exécutez-le localement sur le nœud maître.
gcloud compute ssh HOSTNAME
gcloud storage 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. La sortie de la commande indique l'emplacement du fichier tar, ainsi que des instructions pour l'importer dans un bucket Cloud Storage.
Partager les données de diagnostic
Pour partager l'archive :
- Téléchargez l'archive depuis Cloud Storage, puis partagez l'archive téléchargée.
- Modifier les autorisations sur l'archive pour permettre à d'autres utilisateurs ou projets Google Cloud d'accéder le fichier.
Exemple : La commande suivante ajoute des autorisations de lecture à l'archive pour un utilisateur jane@gmail.com
:
gcloud storage objects update PATH_TO_ARCHIVE} --add-acl-grant=entity=user-jane@gmail.com,role=roles/storage.legacyObjectReader
Résumé du diagnostic et contenus de l'archive
La commande diagnose
génère un résumé du diagnostic et un fichier tar d'archive contenant
les fichiers de configuration du cluster, les journaux, et d'autres fichiers et informations. L'archive
tar est écrit dans Dataproc
bucket de préproduction
dans Cloud Storage.
Résumé du 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. Le résumé fournit une
Présentation de l'état des clusters, y compris YARN, HDFS, disque et mise en réseau
et comprend des avertissements pour vous alerter en cas de problèmes potentiels.
Fichier tar d'archive : 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 dont le nom de fichier comporte le préfixe suivant: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/ |