Dataproc raccoglie i seguenti dati diagnostici del cluster per aiutarti a risolvere i problemi relativi a cluster e job:
- Dati del checkpoint: se questa opzione è attivata, Dataproc raccoglie e aggiorna i dati diagnostici durante l'intero ciclo di vita di un cluster.
- Dati snapshot: puoi raccogliere uno snapshot dei dati diagnostici del cluster da un cluster in esecuzione.
Dati del checkpoint
Quando la funzionalità dei dati del checkpoint è abilitata, Dataproc raccoglie
dati di diagnostica
durante le operazioni di creazione del cluster,
aggiornamento del cluster
e dell'API Jobs
Dataproc. Dataproc salva i dati nel cluster
temp bucket
in
Cloud Storage, che ha un periodo di conservazione TTL di 90 giorni. I dati vengono eliminati
al termine del periodo di conservazione.
Attiva le proprietà di raccolta dei dati: Puoi includere le seguenti proprietà del cluster facoltative quando crei un cluster. Influenzano la raccolta dei dati di diagnostica del checkpoint solo sul cluster creato.
- Attiva la raccolta dei dati:l'impostazione della proprietà
dataproc:diagnostic.capture.enabled=true
consente la raccolta dei dati diagnostici dei checkpoint sul cluster. - Condividi dati diagnostici:l'impostazione della proprietà
dataproc:diagnostic.capture.access=GOOGLE_DATAPROC_DIAGNOSE
condivide i dati diagnostici dei checkpoint raccolti con l'Google Cloud assistenza.- Dopo la creazione del cluster, puoi condividere i dati di diagnostica
con Google Cloud l'assistenza concedendo l'accesso in lettura ai dati all'account di servizio utilizzato dall' Google Cloud assistenza, nel seguente modo:
gcloud storage objects update \ gs://TEMP_BUCKET/google-cloud-dataproc-diagnostic/CLUSTER_UUID \ --add-acl-grant=entity=user-cloud-diagnose@cloud-dataproc.iam.gserviceaccount.com,role=READER --recursive \
- Dopo la creazione del cluster, puoi condividere i dati di diagnostica
con Google Cloud l'assistenza concedendo l'accesso in lettura ai dati all'account di servizio utilizzato dall' Google Cloud assistenza, nel seguente modo:
Dati diagnostici
I dati di diagnostica sono costituiti dai seguenti dati scritti in
gs://TEMP_BUCKET/google-cloud-dataproc-diagnostic/CLUSTER_UUID/
in Cloud Storage. Questa posizione è definita cartella dei dati diagnostici in questa
sezione.
Log di dettaglio dei nodi del cluster:Dataproc esegue i seguenti comandi per raccogliere e scrivere le informazioni di YARN e HDFS nelle seguenti posizioni nella cartella dei dati di diagnostica in Cloud Storage.
Comando eseguito Posizione nella cartella di diagnostica yarn node -list -all
.../nodes/timestamp/yarn-nodes.log
hdfs dfsadmin -report -live -decommissioning
.../nodes/timestamp/hdfs-nodes.log
Dettagli job:Dataproc salva le informazioni sui job MapReduce e i log dei job Spark per i job che utilizzano l'API Dataproc Jobs. Questi dati del job vengono raccolti per ogni job MR e Spark inviato.
- MapReduce
job.xml
: un file contenente le impostazioni di configurazione del job, salvato in.../jobs/JOB_UUID/mapreduce/job.xml
. - Log eventi Spark: dettagli di esecuzione del job utili per il debug,
salvati in
.../jobs/JOB_UUID/spark/application-id
.
- MapReduce
Informazioni sul sistema Linux: Dataproc esegue i seguenti comandi per raccogliere e salvare le informazioni di sistema nelle seguenti posizioni nella cartella dei dati di diagnostica in Cloud Storage.
Comando Posizione nella cartella di diagnostica sysctl -a
.../system/sysctl.log
cat /proc/sys/fs/file-nr
.../system/fs-file-nr.log
ping -c 1
.../system/cluster-ping.log
cp /etc/hosts
.../system/hosts_entries.log
cp /etc/resolv.conf
.../system/resolv.conf
File di configurazione:Dataproc salva i seguenti file di configurazione nelle seguenti posizioni nella cartella dei dati di diagnostica in Cloud Storage.
Articoli inclusi Posizione nella cartella di diagnostica Proprietà di Dataproc .../configs/dataproc/dataproc.properties
Tutti i file in
`/etc/google-dataproc/`.../configs/dataproc/
Tutti i file in
`/etc/hadoop/conf/`.../configs/hadoop/
Tutti i file in `/etc/hive/conf/` .../configs/hive/
Tutti i file in
`/etc/hive-hcatalog/conf/`.../configs/hive-hcatalog/
Tutti i file in `/etc/knox/conf/` .../configs/knox/
Tutti i file in `/etc/pig/conf/` .../configs/pig/
Tutti i file in
`/etc/presto/conf/`.../configs/presto/
Tutti i file in
`/etc/spark/conf/`.../configs/spark/
Tutti i file in `/etc/tez/conf/` .../configs/tez/
Tutti i file in
`/etc/zookeeper/conf/`.../configs/zookeeper/
Dati dello snapshot
Puoi eseguire il seguente comando
gcloud dataproc clusters diagnose
per raccogliere uno snapshot dei dati di diagnostica da un
cluster in esecuzione. I dati vengono scritti come file di archivio (tar) nel bucket di staging di Dataproc in Cloud Storage.
gcloud dataproc clusters diagnose CLUSTER_NAME \ --region=REGION \ --tarball-access=GOOGLE_DATAPROC_DIAGNOSE
Note:
- CLUSTER_NAME: il nome del cluster da diagnosticare.
- REGION: la regione del cluster, ad esempio
us-central1
. --tarball-access
=GOOGLE_DATAPROC_DIAGNOSE
Questo flag fornisce l'accesso al file tar di diagnostica all'Google Cloud assistenza. Fornisci Google Cloud assistenza con il percorso Cloud Storage del file tar di diagnostica.Additional flags:
--start-time
con--end-time
: utilizza entrambi i flag per specificare un intervallo di tempo nel 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 dello snapshot diagnostico).Puoi utilizzare uno dei seguenti flag per raccogliere log specifici del driver del job, dell'evento Spark, dell'applicazione YARN e dell'output Sparklens:
--job-ids
: Un elenco separato da virgole di ID job--yarn-application-ids
: un elenco separato da virgole di ID applicazione YARN- L'aggregazione dei log YARN deve essere abilitata (
yarn.log-aggregation-enable=true
) per la raccolta dei log delle applicazioni YARN. - Per i job MapReduce, vengono raccolti solo i log delle applicazioni YARN.
- L'aggregazione dei log YARN deve essere abilitata (
Se necessario, esegui lo script di diagnostica
Il comando gcloud dataproc clusters diagnose
può non riuscire o scadere se un cluster si trova in uno stato di errore e non può accettare attività di diagnostica dal server Dataproc. In alternativa all'esecuzione del comando diagnose, puoi utilizzare SSH per connetterti al nodo master del cluster, 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 di diagnostica viene salvato in una directory locale. L'output del comando elenca la posizione del file tar con le istruzioni su come caricare il file tar in un bucket Cloud Storage.
Dati dello snapshot diagnostico
I dati dello snapshot del cluster includono un riepilogo diagnostico e diverse sezioni di archivio.
Riepilogo diagnostico:il file di archivio include summary.txt
che si trova
nella directory principale dell'archivio. Fornisce una panoramica dello stato del cluster, incluso lo stato di YARN, HDFS, disco e rete, e include avvisi per segnalare potenziali problemi.
Sezioni dell'archivio:il file di archivio include le seguenti informazioni che vengono scritte nelle seguenti posizioni del file di archivio.
Informazioni su daemon 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_AGENTPID}"
jstack/agent${DATAPROC_AGENT_PID}.jstack
jstack -l "${PRESTOPID}"
jstack/agent${PRESTO_PID}.jstack
jstack -l "${JOB_DRIVERPID}"
jstack/driver${JOB_DRIVER_PID}.jstack
jinfo "${DATAPROC_AGENTPID}"
jinfo/agent${DATAPROC_AGENT_PID}.jstack
jinfo "${PRESTOPID}"
jinfo/agent${PRESTO_PID}.jstack
jinfo "${JOB_DRIVERPID}"
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
Articolo incluso 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 originali.Log di avvio dei nodi Dataproc per ogni nodo (master e worker) nel 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
Articoli inclusi Posizione nell'archivio Metadati VM /conf/dataproc/metadata
Variabili di ambiente in /etc/environment
/conf/dataproc/environment
Proprietà di 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/
Condividere il file di archivio
Puoi condividere il file di archivio con Google Cloud l'assistenza o gli utenti per ottenere aiuto per risolvere i problemi relativi ai cluster o ai job.
Per condividere il file di archivio:
- Copia il file di archivio da Cloud Storage e poi condividi l'archivio scaricato oppure
Modifica le autorizzazioni dell'archivio per consentire ad altri Google Cloud utenti o progetti di accedere al file.
Esempio: il seguente comando concede le autorizzazioni di lettura dell'archivio ai proprietari del progetto
test-project
:gcloud storage objects update PATH_TO_ARCHIVE} --add-acl-grant=entity=project-owners-test-project,role=READER