Comando diagnostica cluster di Dataproc

"Riepilogo di diagnostica dei comandi cluster Dataproc | Google Cloud"

Puoi eseguire il comando gcloud dataproc clusters diagnose per raccogliere log di sistema, Spark, Hadoop e Dataproc, file di configurazione dei cluster e altre informazioni che puoi esaminare o condividere con l'assistenza Google per aiutarti a risolvere i problemi relativi a un cluster o job Dataproc. Il comando carica i dati diagnostici e il riepilogo nel bucket gestione temporanea di Dataproc in Cloud Storage.

Esegui il comando di diagnostica del cluster di Google Cloud CLI

Esegui il comando gcloud dataproc clusters diagnose per creare e restituire il percorso del file di archivio diagnostico.

gcloud dataproc clusters diagnose CLUSTER_NAME \
    --region=REGION \
    OPTIONAL FLAGS ...

Note:

  • CLUSTER_NAME: il nome del cluster di cui eseguire la diagnostica.
  • 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 di 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 di log delle applicazioni YARN.

    • --yarn-application-ids: puoi utilizzare questo flag per raccogliere i log di output del driver del 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 di log dell'applicazione 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. Se specifichi un intervallo di tempo, consenti 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 diagnostici).

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

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

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

Il comando gcloud dataproc clusters diagnose può avere esito negativo o timeout se un cluster è in stato di errore e non può accettare attività di diagnostica dal server Dataproc. In alternativa all'esecuzione del comando di diagnostica, puoi connetterti al nodo master del cluster utilizzando SSH, scaricare lo script di diagnostica ed eseguire lo script 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 caricare il file tar in un bucket Cloud Storage.

Come condividere i dati diagnostici

Per condividere l'archivio:

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

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

Riepilogo diagnostico e contenuti dell'archivio

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

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

File tar di archivio: nelle sezioni seguenti sono elencati i file e le informazioni contenuti nel file tar dell'archivio di diagnostica.

Informazioni su daemon e servizi

Comando eseguito Posizione in 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 su JVM

Comando eseguito Posizione in 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 in 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 in 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 di archiviazione logs e conservano 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 archiviazione node_startup, che contiene sottocartelle separate per ogni macchina nel 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 in 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/