Dataproc raccoglie i seguenti dati diagnostici del cluster per aiutarti a risolvere i problemi relativi a cluster e job:
- Dati dei checkpoint: se abilitato, Dataproc raccoglie e aggiorna dati diagnostici durante il ciclo di vita di un cluster.
- Dati snapshot: puoi raccogliere un snapshot dei dati diagnostici del cluster da un cluster in esecuzione.
Dati del checkpoint
Quando la funzionalità dei dati dei checkpoint è abilitata, Dataproc raccoglie
dati di diagnostica
durante la creazione del cluster,
l'aggiornamento del cluster,
e le operazioni 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à facoltative del cluster quando crei un cluster. Incidono solo sulla raccolta dei dati diagnostici dei checkpoint nel cluster creato.
- Attiva la raccolta dei dati:l'impostazione della proprietà
dataproc:diagnostic.capture.enabled=true
consente la raccolta dei dati di diagnostica dei checkpoint nel cluster. - Condividi dati diagnostici: l'impostazione della proprietà
dataproc:diagnostic.capture.access=GOOGLE_DATAPROC_DIAGNOSE
condivide i dati diagnostici dei checkpoint raccolti con l'assistenzaGoogle Cloud .- Dopo aver creato il cluster, puoi condividere i dati di diagnostica con l' Google Cloud assistenza concedendo l'accesso in lettura ai dati all'account di servizio utilizzato dall' Google Cloud assistenza, come segue: Google Cloud
gsutil -m acl ch -r -u \ cloud-diagnose@cloud-dataproc.iam.gserviceaccount.com:R \ gs://TEMP_BUCKET/google-cloud-dataproc-diagnostic/CLUSTER_UUID
- Dopo aver creato il cluster, puoi condividere i dati di diagnostica con l' Google Cloud assistenza concedendo l'accesso in lettura ai dati all'account di servizio utilizzato dall' Google Cloud assistenza, come segue: Google Cloud
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. In questa sezione, questa posizione è indicata come cartella dei dati diagnostici.
Log dettagliati dei nodi del cluster: Dataproc esegue i seguenti comandi per raccogliere e scrivere le informazioni di YARN e HDFS nelle seguenti posizioni della 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 dei 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 dei job utili per il debug, salvati in
.../jobs/JOB_UUID/spark/application-id
.
- MapReduce
Informazioni di sistema Linux: Dataproc esegue i seguenti comandi per raccogliere e salvare le informazioni di sistema nelle seguenti posizioni della cartella dei dati di diagnostica in Cloud Storage.
Comando Posizione nella cartella 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.
Elementi inclusi Posizione nella cartella Diagnostica Proprietà 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 snapshot
Puoi eseguire il seguente
gcloud dataproc clusters diagnose
comando 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 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
. OPTIONAL FLAGS:
Puoi utilizzare uno o entrambi i seguenti flag per raccogliere log specifici relativi a driver di job, eventi Spark, applicazioni YARN e output di Sparklens. Note:
- 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.
--job-ids
: un elenco separato da virgole di ID job.--yarn-application-ids
: un elenco di ID applicazione YARN separati da virgole.
- L'aggregazione dei log YARN deve essere abilitata
(
--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 dello snapshot diagnostico).--tarball-access
=GOOGLE_DATAPROC_DIAGNOSE
Utilizza questo flag per inviare o fornire l'accesso al file tar di diagnostica all'Google Cloud assistenza. Fornisci anche le informazioni all' Google Cloud assistenza come segue:- Percorso di Cloud Storage del file tar di diagnostica o
- Bucket di configurazione del cluster, UUID del cluster e ID operazione del comando diagnose
Se necessario, esegui lo script di diagnostica
Il comando gcloud dataproc clusters diagnose
può non riuscire o scadere se un cluster è in uno stato di errore e non può accettare le 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
gsutil 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.
Dati degli snapshot diagnostici
I dati dell'istantanea del cluster includono un riepilogo diagnostico e diverse sezioni di archivio.
Riepilogo diagnostico: il file dell'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, del disco e della rete, e include avvisi per informarti di potenziali problemi.
Sezioni dell'archivio:il file dell'archivio include le seguenti informazioni, che vengono scritte nelle seguenti posizioni del file dell'archivio.
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_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 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/
Condividere il file dell'archivio
Puoi condividere il file dell'archivio con Google Cloud l'assistenza o con gli utenti per ricevere aiuto per la risoluzione dei problemi relativi a cluster o job.
Per condividere il file dell'archivio:
- Copia il file dell'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 aggiunge le autorizzazioni di lettura all'archivio in un
test-project
:gsutil -m acl ch -g test-project:R PATH_TO_ARCHIVE}