Cloud Logging

Los registros de trabajos y del clúster de Dataproc se pueden ver, buscar, filtrar y archivar en Cloud Logging.

Registros del trabajo de Dataproc en Logging

Cuando ejecutas un trabajo de Dataproc, el resultado del controlador de trabajos se transmite a Cloud Console, se muestra en la ventana de la terminal de comandos (para trabajos enviados desde la línea de comandos) y se almacena en Cloud Storage (consulta Accede a la salida del controlador de trabajos). La sección explica cómo habilitar Dataproc para que también guarde los registros del controlador de trabajos en Logging.

Habilita los registros del controlador de trabajos en Cloud Logging

Para habilitar los registros del controlador de trabajos en Logging, establece la siguiente propiedad de clúster cuando lo crees:

dataproc:dataproc.logging.stackdriver.job.driver.enable=true

Las siguientes propiedades de clúster también son obligatorias y se configuran de forma predeterminada cuando se lo crea:

dataproc:dataproc.logging.stackdriver.enable=true
dataproc:jobs.file-backed-output.enable=true

Habilita registros de contenedores YARN en Cloud Logging

Para habilitar los recursos de trabajo de los registros de contenedores de YARN, establece la siguiente propiedad de clúster cuando lo crees:

dataproc:dataproc.logging.stackdriver.job.yarn.container.enable=true

La siguiente propiedad también es obligatoria y se configura de forma predeterminada cuando se crea un clúster:

dataproc:dataproc.logging.stackdriver.enable=true

Accede a los registros de trabajos en Cloud Logging

Puedes acceder a Logging mediante la consola de Logging, el comando gcloud logging o la API de Logging.

Console

El controlador de trabajos de Dataproc y los registros del contenedor de YARN se enumeran en el recurso Trabajo de Cloud Dataproc.

Ejemplo de registro del controlador de trabajos:

Ejemplo de registro de contenedor de YARN:

gcloud

Puedes leer las entradas del registro de trabajos con el comando gcloud logging read. El siguiente comando usa etiquetas de clúster para filtrar las entradas de registro devueltas.

gcloud logging read \  
    resource.type=cloud_dataproc_job \
    resource.labels.region=cluster-region \
    resource.labels.job_id=my-job-id

Resultado de muestra (parcial):

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

Puedes usar la API de REST de Logging para mostrar las entradas de registros (consulta entries.list).

Registros del clúster de Dataproc en Logging

Dataproc exporta los siguientes registros de Apache Hadoop, Spark, Hive, Zookeeper y otros registros de clúster de Dataproc a Cloud Logging.

Tipo de registro Nombre del registro Descripción
Registros de daemon principal hadoop-hdfs
hadoop-hdfs-namenode
hadoop-hdfs-secondary namenode
hadoop-hdfs-zkfc
hive-metastore
hive-server2
mapred-mapred-historyserver
yarn-yarn-resourcemanager
yarn-yarn-timelineserver
zookeeper
Nodo de registro
Namenode de HDFS
Namenode secundario de HDFS
Controlador de conmutación por error de Zookeeper
Metastore de Hive
Server2 de Hive
Servidor de historial de trabajos de Mapreduce
Administrador de recursos de YARN
Servidor de línea de tiempo de YARN
Servidor de Zookeeper
Registros de daemon trabajador hadoop-hdfs-datanode
yarn-yarn-nodemanager
Datanode de HDFS
Nodemanager de YARN
Registros del sistema autoscaler
google.dataproc.agent
google.dataproc.startup
Registro del escalador automático de Dataproc
Registro de agente de Dataproc
Registro de secuencia de comandos de inicio de Dataproc y registro de acciones de inicialización

Accede a los registros del clúster en Cloud Logging

Puedes acceder a Logging mediante la consola de Logging, el comando gcloud logging o la API de Logging.

Console

Los registros del clúster de Dataproc se muestran en el recurso Clúster de Cloud Dataproc. Selecciona un tipo de registro de la lista desplegable.

gcloud

Puedes leer las entradas del registro del clúster con el comando gcloud logging read. El siguiente comando usa etiquetas de clúster para filtrar las entradas de registro devueltas.

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

Resultado de muestra (parcial):

jsonPayload:
  class: org.apache.hadoop.yarn.server.resourcemanager.RMAuditLogger
  filename: yarn-yarn-resourcemanager-cluster-name-m.log
  ...
logName: projects/project-id/logs/yarn-yarn-resourcemanager
---
jsonPayload:
  class: org.apache.hadoop.yarn.server.resourcemanager.RMAuditLogger
  filename: yarn-yarn-resourcemanager-component-gateway-cluster-m.log
  ...
logName: projects/project-name/logs/yarn-yarn-resourcemanager

API de REST

Puedes usar la API de REST de Logging para mostrar las entradas de registros (consulta entries.list).

Permisos

Para escribir registros en Logging, la cuenta de servicio de VM de Dataproc debe tener la función de IAM logging.logWriter. La cuenta de servicio de Dataproc predeterminada tiene esta función. Si usas una cuenta de servicio personalizada, debes asignar esta función a la cuenta de servicio.

Próximos pasos