Puedes ejecutar el comando gcloud dataproc clusters diagnose
para recopilar registros del sistema, Spark, Hadoop y Dataproc, archivos de configuración del clúster y otra información que puedes examinar o compartir con la Atención al cliente de Google a fin de ayudarte a solucionar problemas de un clúster o trabajo de Dataproc.
El comando sube los datos de diagnóstico y el resumen al bucket de staging de Dataproc en Cloud Storage.
Ejecuta el comando de diagnóstico del clúster de Google Cloud CLI
Ejecuta el comando gcloud dataproc clusters diagnose
para crear y obtener la ubicación del archivo de diagnóstico.
gcloud dataproc clusters diagnose CLUSTER_NAME \ --region=REGION \ OPTIONAL FLAGS ...
Notas:
- CLUSTER_NAME: Es el nombre del clúster que se diagnosticará.
- REGION: La región del clúster, por ejemplo,
us-central1
OPTIONAL FLAGS:
--job-ids
: Puedes usar esta marca para recopilar registros de salida del controlador de trabajos, eventos de Spark, YARN y Lense de Spark, además de los archivos de registro predeterminados, para una lista específica de los IDs de trabajo separados por comas. Para los trabajos de MapReduce, solo se recopilan los registros de la aplicación YARN. La agregación de registros de YARN debe estar habilitada para la recopilación de registros de aplicaciones de YARN.--yarn-application-ids
: Puedes usar esta marca para recopilar registros de resultados del controlador de trabajos, eventos de Spark, YARN y Lense de Spark, además de los archivos de registro predeterminados, para una lista específica de los IDs de aplicación YARN separados por comas. La agregación de registros de YARN debe estar habilitada para la recopilación de registros de aplicaciones de YARN.--start-time
con--end-time
: Usa ambas marcas a fin de especificar un intervalo de tiempo, en formato%Y-%m-%dT%H:%M:%S.%fZ
, para la recopilación de datos de diagnóstico. Especificar un intervalo de tiempo también permite la recopilación de registros de ajuste de escala automático de Dataproc durante el intervalo de tiempo (de forma predeterminada, los registros de ajuste de escala automático de Dataproc no se recopilan en los datos de diagnóstico).--tarball-access
=GOOGLE_DATAPROC_DIAGNOSE
Usa esta marca para enviar o proporcionar acceso al archivo tar de diagnóstico al equipo de Asistencia de Google Cloud. Además, proporciona la siguiente información al equipo de asistencia al cliente de Google Cloud:- La ruta de Cloud Storage del archivo tar de diagnóstico; o
- El bucket de configuración del clúster, el UUID del clúster y el ID de operación del comando de diagnóstico
Ejecuta la secuencia de comandos de diagnóstico desde el nodo de la instancia principal del clúster (si es necesario).
El comando gcloud dataproc clusters diagnose
puede fallar o agotar el tiempo de espera si un clúster se encuentra en estado de error y no puede aceptar tareas de diagnóstico del servidor de Dataproc. Como alternativa a ejecutar el comando de diagnóstico, puedes conectarte al nodo de la instancia principal del clúster con SSH, descargar la secuencia de comandos de diagnóstico y, luego, ejecutarla de forma local en ese nodo.
gcloud compute ssh HOSTNAME
gsutil cp gs://dataproc-diagnostic-scripts/diagnostic-script.sh .
sudo bash diagnostic-script.sh
El archivo tar de diagnóstico se guarda en un directorio local. El resultado del comando muestra la ubicación del archivo tar con instrucciones para subirlo a un bucket de Cloud Storage.
Cómo compartir los datos de diagnóstico
Para compartir el archivo, sigue estos pasos:
- Descarga el archivo de Cloud Storage y, luego, compártelo.
- Cambia los permisos en el archivo para permitir que otros usuarios o proyectos de Google Cloud accedan al archivo.
Ejemplo: El siguiente comando agrega permisos de lectura al archivo en un test-project
:
gsutil -m acl ch -g test-project:R PATH_TO_ARCHIVE}
Resumen del diagnóstico y contenido del archivo
El comando diagnose
genera un resumen de diagnóstico y un archivo tar que contiene archivos de configuración del clúster, registros y otros archivos e información. El archivo tar se escribe en el bucket de staging de Dataproc en Cloud Storage.
Resumen del diagnóstico: La secuencia de comandos de diagnóstico analiza los datos recopilados y genera un summary.txt
en la raíz del archivo de diagnóstico. El resumen proporciona una descripción general del estado del clúster, incluidos el estado de YARN, HDFS, disco y red, y también incluye advertencias para alertarte sobre posibles problemas.
Archivar archivo tar: En las siguientes secciones, se enumeran los archivos y la información que se incluye en el archivo tar de diagnóstico.
Información de daemons y servicios
Comando ejecutado | Ubicación en archivo |
---|---|
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 |
Información de JVM
Comando ejecutado | Ubicación en archivo |
---|---|
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 |
Información del sistema Linux
Comando ejecutado | Ubicación en archivo |
---|---|
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 |
Archivos de registro
Elementos incluidos | Ubicación en archivo |
---|---|
Todos los registros en /var/log con los siguientes prefijos en el nombre de archivo:cloud-sql-proxy dataproc druid gcdp google hadoop hdfs hive knox presto spark syslog yarn zookeeper |
Los archivos se colocan en la carpeta logs y del archivo y conservan sus nombres de archivo originales. |
Registros de inicio del nodo de Dataproc para cada nodo (principal y trabajador) en tu clúster. | Los archivos se colocan en la carpeta de archivo node_startup , que contiene subcarpetas separadas para cada máquina en el clúster. |
Registros de puerta de enlace de componentes de journalctl -u google-dataproc-component-gateway |
/logs/google-dataproc-component-gateway.log |
Archivos de configuración
Elementos incluidos | Ubicación en archivo |
---|---|
Metadatos de VM | /conf/dataproc/metadata |
Variables de entorno en /etc/environment |
/conf/dataproc/environment |
Propiedades de Dataproc | /conf/dataproc/dataproc.properties |
Todos los archivos en /etc/google-dataproc/ |
/conf/dataproc/ |
Todos los archivos en /etc/hadoop/conf/ |
/conf/hadoop/ |
Todos los archivos en /etc/hive/conf/ |
/conf/hive/ |
Todos los archivos en /etc/hive-hcatalog/conf/ |
/conf/hive-hcatalog/ |
Todos los archivos en /etc/knox/conf/ |
/conf/knox/ |
Todos los archivos en /etc/pig/conf/ |
/conf/pig/ |
Todos los archivos en /etc/presto/conf/ |
/conf/presto/ |
Todos los archivos en /etc/spark/conf/ |
/conf/spark/ |
Todos los archivos en /etc/tez/conf/ |
/conf/tez/ |
Todos los archivos en /etc/zookeeper/conf/ |
/conf/zookeeper/ |