Puoi eseguire il comando gcloud dataproc clusters diagnose
per raccogliere i log di sistema, Spark, Hadoop e Dataproc, i file di configurazione del cluster
e altre informazioni che puoi esaminare o condividere con l'Assistenza Google
per aiutarti a risolvere i problemi di un cluster o di un job Dataproc.
Il comando carica i dati di diagnostica e il riepilogo
nel bucket di staging
di Dataproc in Cloud Storage.
Esegui il comando diagnose cluster di Google Cloud CLI
Esegui il comando gcloud dataproc clusters diagnose
per creare e stampare la posizione del file dell'archivio diagnostico.
gcloud dataproc clusters diagnose CLUSTER_NAME \ --region=REGION \ OPTIONAL FLAGS ...
Note:
- CLUSTER_NAME: il nome del cluster da diagnosticare.
- REGION: la regione del cluster, ad esempio
us-central1
. OPTIONAL FLAGS:
--job-ids
: puoi utilizzare questo flag per raccogliere i log di output del driver dei job, dell'evento Spark, dell'applicazione YARN e di Spark Lense, oltre ai file di log predefiniti, per un elenco specificato di ID job separati da virgole. Per i job MapReduce, vengono raccolti solo i log delle applicazioni YARN. L'aggregazione dei log YARN deve essere abilitata per la raccolta dei log dell'applicazione YARN.--yarn-application-ids
: puoi utilizzare questo flag per raccogliere i log di output del driver di job, dell'evento Spark, dell'applicazione YARN e di Spark Lense, oltre ai file di log predefiniti, per un elenco specificato di ID applicazione YARN separati da virgole. L'aggregazione dei log YARN deve essere abilitata per la raccolta dei log delle applicazioni YARN.--start-time
con--end-time
: utilizza entrambi i flag per specificare un intervallo di tempo, in formato%Y-%m-%dT%H:%M:%S.%fZ
, per la raccolta dei dati diagnostici. La specifica di un intervallo di tempo consente anche la raccolta dei log di scalabilità automatica di Dataproc durante l'intervallo di tempo (per impostazione predefinita, i log di scalabilità automatica di Dataproc non vengono raccolti nei dati di diagnostica).--tarball-access
=GOOGLE_DATAPROC_DIAGNOSE
Utilizza questo flag per inviare o fornire accesso al file tar di diagnostica al team dell'assistenza Google Cloud. Fornisci inoltre le seguenti informazioni al team di assistenza Google Cloud:- Percorso di Cloud Storage del file tar di diagnostica o
- Bucket di configurazione del cluster, UUID del cluster e ID operazione del comando diagnose
Esegui lo script di diagnostica dal nodo master del cluster (se necessario)
Il comando gcloud dataproc clusters diagnose
può non riuscire o scadere se un cluster è in uno stato di errore e non può accettare attività di diagnostica dal server Dataproc. In alternativa all'esecuzione del comando diagnose, puoi connetterti al nodo master del cluster tramite SSH, scaricare lo script di diagnostica ed eseguirlo localmente sul nodo master.
gcloud compute ssh HOSTNAME
gcloud storage cp gs://dataproc-diagnostic-scripts/diagnostic-script.sh .
sudo bash diagnostic-script.sh
Il file tar dell'archivio diagnostico viene salvato in una directory locale. L'output del comando elenca la posizione del file tar con le istruzioni su come caricarlo in un bucket Cloud Storage.
Come condividere i dati diagnostici
Per condividere l'archivio:
- Scarica l'archivio da Cloud Storage, quindi condividilo oppure
- Modifica le autorizzazioni nell'archivio per consentire ad altri utenti o progetti Google Cloud di accedere al file.
Esempio: il seguente comando aggiunge le autorizzazioni di lettura all'archivio per un utente jane@gmail.com
:
gcloud storage objects update PATH_TO_ARCHIVE} --add-acl-grant=entity=user-jane@gmail.com,role=roles/storage.legacyObjectReader
Riepilogo della diagnostica e contenuti dell'archivio
Il comando diagnose
genera un riepilogo diagnostico e un file tar dell'archivio contenente file di configurazione del cluster, log e altri file e informazioni. Il file tar dell'archivio viene scritto nel bucket di staging Dataproc in Cloud Storage.
Riepilogo della diagnostica:lo script di diagnostica analizza i dati raccolti e genera un file summary.txt
nella directory principale dell'archivio diagnostico. Il riepilogo fornisce una panoramica dello stato del cluster, tra cui lo stato di YARN, HDFS, del disco e della rete, e include avvisi per segnalare potenziali problemi.
File tar dell'archivio:le sezioni seguenti elencano i file e le informazioni contenuti nel file tar dell'archivio diagnostico.
Informazioni su demoni e servizi
Comando eseguito | Posizione nell'archivio |
---|---|
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 |
Informazioni sulla JVM
Comando eseguito | Posizione nell'archivio |
---|---|
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 |
Informazioni sul sistema Linux
Comando eseguito | Posizione nell'archivio |
---|---|
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 |
File di log
Elementi inclusi | Posizione nell'archivio |
---|---|
Tutti i log in /var/log con i seguenti prefissi nel nome file:cloud-sql-proxy dataproc druid gcdp google hadoop hdfs hive knox presto spark syslog yarn zookeeper |
I file vengono inseriti nella cartella dell'archivio logs e mantengono i nomi file originali. |
Log di avvio dei nodi Dataproc per ogni nodo (master e worker) del cluster. | I file vengono inseriti nella cartella dell'archivio node_startup , che contiene sottocartelle separate per ogni macchina del cluster. |
Log del gateway dei componenti da journalctl -u google-dataproc-component-gateway |
/logs/google-dataproc-component-gateway.log |
File di configurazione
Elementi inclusi | Posizione nell'archivio |
---|---|
Metadati VM | /conf/dataproc/metadata |
Variabili di ambiente in /etc/environment |
/conf/dataproc/environment |
Proprietà Dataproc | /conf/dataproc/dataproc.properties |
Tutti i file in /etc/google-dataproc/ |
/conf/dataproc/ |
Tutti i file in /etc/hadoop/conf/ |
/conf/hadoop/ |
Tutti i file in /etc/hive/conf/ |
/conf/hive/ |
Tutti i file in /etc/hive-hcatalog/conf/ |
/conf/hive-hcatalog/ |
Tutti i file in /etc/knox/conf/ |
/conf/knox/ |
Tutti i file in /etc/pig/conf/ |
/conf/pig/ |
Tutti i file in /etc/presto/conf/ |
/conf/presto/ |
Tutti i file in /etc/spark/conf/ |
/conf/spark/ |
Tutti i file in /etc/tez/conf/ |
/conf/tez/ |
Tutti i file in /etc/zookeeper/conf/ |
/conf/zookeeper/ |