I log di cluster e job di Dataproc possono essere visualizzati, cercati, filtrati e archiviati in Cloud Logging.
Consulta i prezzi di Google Cloud Observability per comprendere i tuoi costi.
Per informazioni sulla conservazione dei log, consulta Periodi di conservazione dei log.
Consulta Esclusioni dei log per disabilitare tutti i log o escluderli da Logging.
Consulta Panoramica del routing e dell'archiviazione per instradare i log da Logging a Cloud Storage, BigQuery o Pub/Sub.
Livelli di logging dei componenti
Imposta i livelli di logging di Spark, Hadoop, Flink e altri componenti Dataproc con proprietà cluster log4j specifiche per il componente, come hadoop-log4j
, quando crei un cluster. I livelli di logging dei componenti basati su cluster si applicano ai daemon di servizio, come YARN ResourceManager, e ai job in esecuzione sul cluster.
Se le proprietà log4j non sono supportate per un componente, ad esempio il componente Presto, scrivi un'azione di inizializzazione che modifichi il file log4j.properties
o log4j2.properties
del componente.
Livelli di logging dei componenti specifici del job: puoi impostare i livelli di logging dei componenti anche quando invii un job. Questi livelli di logging vengono applicati al job e hanno la precedenza sui livelli di logging impostati al momento della creazione del cluster. Per ulteriori informazioni, consulta Proprietà dei cluster e dei job.
Livelli di logging delle versioni dei componenti Spark e Hive:
I componenti Spark 3.3.X e Hive 3.X utilizzano le proprietà log4j2, mentre le versioni precedenti di questi componenti usano le proprietà log4j (consulta Apache Log4j2).
Utilizza un prefisso spark-log4j:
per impostare i livelli di logging Spark su un cluster.
Esempio: versione immagine Dataproc 2.0 con Spark 3.1 per impostare
log4j.logger.org.apache.spark
:gcloud dataproc clusters create ... \ --properties spark-log4j:log4j.logger.org.apache.spark=DEBUG
Esempio: versione immagine Dataproc 2.1 con Spark 3.3 per impostare
logger.sparkRoot.level
:gcloud dataproc clusters create ...\ --properties spark-log4j:logger.sparkRoot.level=debug
Livelli di logging dei driver di job
Dataproc utilizza un livello di logging predefinito di INFO
per i programmi dei driver di job. Puoi modificare questa impostazione per uno o più pacchetti
con il flag gcloud dataproc jobsubmit
--driver-log-levels
.
Esempio:
Imposta il livello di logging DEBUG
quando invii un job Spark che legge i file di Cloud Storage.
gcloud dataproc jobs submit spark ...\ --driver-log-levels org.apache.spark=DEBUG,com.google.cloud.hadoop.gcsio=DEBUG
Esempio:
Imposta il livello logger root
su WARN
, il livello logger com.example
su INFO
.
gcloud dataproc jobs submit hadoop ...\ --driver-log-levels root=WARN,com.example=INFO
Livelli di logging esecutori Spark
Per configurare i livelli di logging degli esecutori Spark:
Prepara un file di configurazione log4j, quindi caricalo su Cloud Storage
.Fai riferimento al file di configurazione quando invii il job.
Esempio:
gcloud dataproc jobs submit spark ...\ --file gs://my-bucket/path/spark-log4j.properties \ --properties spark.executor.extraJavaOptions=-Dlog4j.configuration=file:spark-log4j.properties
Spark scarica il file delle proprietà di Cloud Storage nella directory di lavoro locale del job, indicata come file:<name>
in -Dlog4j.configuration
.
Log dei job Dataproc in Logging
Per informazioni su come abilitare i log del driver dei job Dataproc in Logging, consulta Output e log dei job Dataproc.
Accedi ai log dei job in Logging
Accedi ai log dei job di Dataproc utilizzando Esplora log, il comando gcloud logging o l'API Logging.
Console
I log del driver del job Dataproc e del container YARN sono elencati nella risorsa Job Cloud Dataproc.
Esempio: log del driver del job dopo l'esecuzione di una query di Esplora log con le seguenti selezioni:
- Risorsa:
Cloud Dataproc Job
- Nome log:
dataproc.job.driver
![](https://cloud.google.com/static/dataproc/images/job-driver-log.png?hl=it)
Esempio: log del container YARN dopo l'esecuzione di una query Esplora log con le seguenti selezioni:
- Risorsa:
Cloud Dataproc Job
- Nome log:
dataproc.job.yarn.container
![](https://cloud.google.com/static/dataproc/images/yarn-container-log.png?hl=it)
gcloud
Puoi leggere le voci di log del job utilizzando il comando gcloud logging read. Gli argomenti delle risorse devono essere racchiusi tra virgolette ("..."). Il seguente comando utilizza le etichette del cluster per filtrare le voci di log restituite.
gcloud logging read \ "resource.type=cloud_dataproc_job \ resource.labels.region=cluster-region \ resource.labels.job_id=my-job-id"
Output di esempio (parziale):
jsonPayload: class: org.apache.hadoop.hdfs.StateChange filename: hadoop-hdfs-namenode-test-dataproc-resize-cluster-20190410-38an-m-0.log ,,, logName: projects/project-id/logs/hadoop-hdfs-namenode --- jsonPayload: class: SecurityLogger.org.apache.hadoop.security.authorize.ServiceAuthorizationManager filename: cluster-name-dataproc-resize-cluster-20190410-38an-m-0.log ... logName: projects/google.com:hadoop-cloud-dev/logs/hadoop-hdfs-namenode
API REST
Puoi utilizzare l'API REST Logging per elencare le voci di log (vedi entries.list).
Log del cluster Dataproc in Logging
Dataproc esporta in Cloud Logging i seguenti log di Apache Hadoop, Spark, Hive, Zookeeper e altri cluster Dataproc.
Tipo di log | Nome log | Descrizione |
---|---|---|
Log del daemon master | hasoop-hdfs hadoop-hdfs-namenode hadoop-hdfs-second namenode hadoop-hdfs-zkfc hadoop-yarn-resourcemanager hadoop-yarn-timelineserver alveare-metastore alveare-server2 istoria-mapred-mapred-mapred |
Nodo journal Nodo nome HDFS Nodo nome secondario HDFS Controller di failover Zookeeper Gestione risorse YARN Server sequenza temporale YARN Metstore Hive Server Hive2 Server cronologia job MapReduce Server Zookeeper |
Log del daemon worker |
hasoop-hdfs-datanode hadoop-yarn-nodemanager |
Nodo dati HDFS Gestione nodi YARN |
Log di sistema |
gestore della scalabilità automatica google.dataproc.agent google.dataproc.startup |
Log del gestore della scalabilità automatica Dataproc Log agente Dataproc Log dello script di avvio Dataproc + log delle azioni di inizializzazione |
Accedi ai log del cluster in Cloud Logging
Puoi accedere ai log del cluster Dataproc utilizzando Esplora log, il comando gcloud logging o l'API Logging.
Console
Effettua le seguenti selezioni di query per visualizzare i log del cluster in Esplora log:
- Risorsa:
Cloud Dataproc Cluster
- Nome log: log name
![](https://cloud.google.com/static/dataproc/images/cluster-logs.png?hl=it)
gcloud
Puoi leggere le voci di log del cluster utilizzando il comando gcloud logging read. Gli argomenti delle risorse devono essere racchiusi tra virgolette ("..."). Il seguente comando utilizza le etichette del cluster per filtrare le voci di log restituite.
gcloud logging read <<'EOF' "resource.type=cloud_dataproc_cluster resource.labels.region=cluster-region resource.labels.cluster_name=cluster-name resource.labels.cluster_uuid=cluster-uuid" EOF
Output di esempio (parziale):
jsonPayload: class: org.apache.hadoop.yarn.server.resourcemanager.ResourceTrackerService filename: hadoop-yarn-resourcemanager-cluster-name-m.log ... logName: projects/project-id/logs/hadoop-yarn-resourcemanager --- jsonPayload: class: org.apache.hadoop.yarn.server.resourcemanager.ResourceTrackerService filename: hadoop-yarn-resourcemanager-component-gateway-cluster-m.log ... logName: projects/project-id/logs/hadoop-yarn-resourcemanager
API REST
Puoi utilizzare l'API REST Logging per elencare le voci di log (vedi entries.list).
Autorizzazioni
Per scrivere i log in Logging, l'account di servizio VM Dataproc deve avere il ruolo logging.logWriter
. L'account di servizio Dataproc predefinito ha questo ruolo. Se utilizzi un account di servizio personalizzato, devi assegnare questo ruolo all'account di servizio.
Protezione dei log
Per impostazione predefinita, i log in Logging sono criptati at-rest. Puoi abilitare le chiavi di crittografia gestite dal cliente (CMEK) per criptare i log. Per saperne di più sul supporto CMEK, vedi Gestire le chiavi che proteggono i dati del router dei log e Gestire le chiavi che proteggono i dati di archiviazione di Logging.
Passaggio successivo
- Esplora l'osservabilità di Google Cloud