Diagnosi dei cluster Dataproc

"Riepilogo diagnostico dei comandi cluster Dataproc | Google Cloud

Puoi eseguire gcloud dataproc clusters diagnose per raccogliere log di sistema, Spark, Hadoop e Dataproc, file di configurazione 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 diagnostici e il riepilogo. al bucket di gestione temporanea di Dataproc in Cloud Storage.

Esegui il comando di diagnostica del cluster di Google Cloud CLI

Esegui gcloud dataproc clusters diagnose. per creare e visualizzare il percorso del file di 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 il driver del job, l'evento Spark e YARN dell'applicazione e i log di output di Spark Lense, oltre al file di log predefiniti, per un elenco specifico di ID job separati da virgole. Per i job MapReduce, vengono raccolti solo i log dell'applicazione YARN. L'aggregazione dei log YARN deve essere abilitata per la raccolta dell'applicazione YARN logaritmi.

    • --yarn-application-ids: puoi utilizzare questo flag per raccogliere il driver del job, l'evento Spark dell'applicazione YARN e dei log di output di Spark Lense, oltre al file di log predefiniti, per un elenco di valori YARN separato da virgole ID applicazione. 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 orario in formato %Y-%m-%dT%H:%M:%S.%fZ, per la raccolta dati diagnostici. Specificare un intervallo di tempo consente anche la raccolta Log di scalabilità automatica di Dataproc durante l'intervallo di tempo (per impostazione predefinita I log di scalabilità automatica di Dataproc non vengono raccolti dati diagnostici).

    • --tarball-access=GOOGLE_DATAPROC_DIAGNOSE Utilizza questo flag per inviare o dare accesso ai il file tar diagnostico dal team di assistenza Google Cloud. Fornisci inoltre informazioni al team di assistenza Google Cloud come segue:

      • Percorso Cloud Storage del file tar di diagnostica oppure
      • Bucket di configurazione del cluster, UUID del cluster e ID operazione di il comando di diagnostica

Esegui lo script di diagnostica dal nodo master del cluster (se necessario)

Il comando gcloud dataproc clusters diagnose può non riuscire o andare in timeout se un cluster è in stato di errore e non può accettare attività di diagnostica da sul server Dataproc. In alternativa all'esecuzione di diagnostica, puoi connetterti al nodo master del cluster tramite SSH, scarica lo script di diagnostica e poi eseguilo 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 di diagnostica viene salvato in una directory locale. Il comando L'output 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:

Esempio: il comando seguente aggiunge autorizzazioni di lettura all'archivio in test-project:

gsutil -m acl ch -g test-project:R PATH_TO_ARCHIVE}

Riepilogo della diagnostica e contenuti d'archivio

Il comando diagnose restituisce un riepilogo della diagnostica e un file tar di archivio contenente file di configurazione del cluster, log e altri file e informazioni. L'archivio il file tar viene scritto in Dataproc bucket gestione temporanea in Cloud Storage.

Riepilogo diagnostica: lo script diagnostico analizza i dati raccolti e genera una summary.txt nella directory principale dell'archivio di diagnostica. Il riepilogo fornisce panoramica dello stato del cluster, inclusi YARN, HDFS, disco e networking e include avvisi per avvisarti di potenziali problemi.

Archivia file tar: le seguenti sezioni elencano i file e le informazioni contenuto nel file tar dell'archivio diagnostico.

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 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

Articoli 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 posizionati nella cartella di archivio logs con i nomi file originali.
Log di avvio dei nodi Dataproc per ciascun nodo (master e worker) nel cluster. I file vengono inseriti nella cartella di archivio node_startup, che contiene sottocartelle separate per ogni macchina nel cluster.
Log del gateway dei componenti di 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à 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/