Execute o comando gcloud dataproc clusters diagnose
para coletar registros do sistema, Spark, Hadoop e Dataproc, arquivos de configuração de cluster
e outras informações que podem ser examinadas ou compartilhadas com o Suporte do Google
para ajudar a solucionar problemas de cluster ou job do Dataproc.
O comando faz upload dos dados de diagnóstico e do resumo
para o bucket de preparo
do Dataproc no Cloud Storage.
Executar o comando de cluster de diagnóstico da Google Cloud CLI
Execute o comando gcloud dataproc clusters diagnose
para criar e enviar o local do arquivo de diagnóstico.
gcloud dataproc clusters diagnose CLUSTER_NAME \ --region=REGION \ OPTIONAL FLAGS ...
Observações:
- CLUSTER_NAME: o nome do cluster a ser diagnosticado.
- REGION: a região do cluster, por exemplo,
us-central1
. OPTIONAL FLAGS:
--job-ids
: é possível coletar essa sinalização para coletar registros de saída do driver do job, do evento do Spark, do aplicativo YARN e do Spark Lense, além dos arquivos de registro padrão, para uma lista especificada separada por vírgulas de IDs de jobs. Para jobs MapReduce, apenas os registros de aplicativos YARN são coletados. A agregação de registros YARN precisa estar ativada para a coleta de registros do aplicativo YARN.--yarn-application-ids
: é possível coletar essa sinalização para coletar registros de driver do job, evento do Spark, aplicativo YaRN e registros de saída do Spark Lense, além dos arquivos de registro padrão, para uma lista especificada separada por vírgulas de IDs de aplicativos YARN. A agregação de registros YARN precisa estar ativada para a coleta de registros de aplicativos do Yarn.--start-time
com--end-time
: use as duas sinalizações para especificar um intervalo de tempo, no formato%Y-%m-%dT%H:%M:%S.%fZ
, para a coleta de dados de diagnóstico. Especificar um intervalo de tempo também permite a coleta de registros de escalonamento automático do Dataproc durante esse intervalo. Por padrão, os registros de escalonamento automático do Dataproc não são coletados nos dados de diagnóstico.--tarball-access
=GOOGLE_DATAPROC_DIAGNOSE
use esta sinalização para enviar ou fornecer acesso ao arquivo .tar de diagnóstico para a equipe de suporte do Google Cloud. Também forneça informações para a equipe de suporte do Google Cloud da seguinte maneira:- Caminho do Cloud Storage do arquivo tar de diagnóstico ou
- Bucket de configuração do cluster, UUID do cluster e ID da operação do comando "diagnose"
Execute o script de diagnóstico do nó mestre do cluster (se necessário)
O comando gcloud dataproc clusters diagnose
poderá falhar ou expirar se um cluster estiver em estado de erro e não puder aceitar tarefas de diagnóstico do servidor do Dataproc. Como alternativa à execução do comando diagnose, é possível conectar-se ao nó mestre do cluster usando SSH, fazer o download do script de diagnóstico e executá-lo localmente no nó mestre.
gcloud compute ssh HOSTNAME
gsutil cp gs://dataproc-diagnostic-scripts/diagnostic-script.sh .
sudo bash diagnostic-script.sh
O arquivo .tar de arquivamento de diagnóstico é salvo em um diretório local. A resposta ao comando lista o local do arquivo tar com instruções sobre como fazer o upload dele para um bucket do Cloud Storage.
Como compartilhar dados de diagnóstico
Para compartilhar o arquivo:
- Faça o download do arquivo no Cloud Storage e compartilhe-o.
- Altere as permissões no arquivo para permitir que outros usuários ou projetos do Google Cloud acessem o arquivo.
Exemplo: o comando a seguir adiciona permissões de leitura ao arquivo
em um test-project
:
gsutil -m acl ch -g test-project:R PATH_TO_ARCHIVE}
Resumo do diagnóstico e conteúdo do arquivo
O comando diagnose
gera um resumo de diagnóstico e um arquivo tar .tar que contém
arquivos de configuração de cluster, registros e outros arquivos e informações. O arquivo .tar é gravado no bucket de preparo do Dataproc no Cloud Storage.
Resumo do diagnóstico:o script de diagnóstico analisa os dados coletados e gera um
summary.txt
na raiz do arquivo de diagnóstico. O resumo fornece uma visão geral do status do cluster, incluindo YARN, HDFS, disco e status de rede, além de avisos para alertar você sobre possíveis problemas.
Arquivo tar do arquivamento:as seções a seguir listam os arquivos e as informações contidos no arquivo .tar de arquivamento de diagnóstico.
Informações sobre Daemons e serviços
Comando executado | Local no arquivo |
---|---|
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 |
Informações do JVM
Comando executado | Local no arquivo |
---|---|
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 |
Informações do sistema Linux
Comando executado | Local no arquivo |
---|---|
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 |
Arquivos de registros
Item(ns) incluído(s) | Local no arquivo |
---|---|
Todos os registros em /var/log com estes prefixos no nome de arquivo:cloud-sql-proxy dataproc druid gcdp google hadoop hdfs hive knox presto spark syslog yarn zookeeper |
Os arquivos são armazenados na pasta logs e mantêm os nomes originais deles. |
Registros de inicialização de node do Dataproc de cada node (principal e de trabalho) no cluster. | Os arquivos são colocados na pasta de arquivamento node_startup , que contém subpastas separadas para cada máquina no cluster. |
Registros de gateway de componentes de journalctl -u google-dataproc-component-gateway |
/logs/google-dataproc-component-gateway.log |
Arquivos de configuração
Item(ns) incluído(s) | Local no arquivo |
---|---|
Metadados da VM | /conf/dataproc/metadata |
Variáveis de ambiente em /etc/environment |
/conf/dataproc/environment |
Propriedades do Dataproc | /conf/dataproc/dataproc.properties |
Todos os arquivos em /etc/google-dataproc/ |
/conf/dataproc/ |
Todos os arquivos em /etc/hadoop/conf/ |
/conf/hadoop/ |
Todos os arquivos em /etc/hive/conf/ |
/conf/hive/ |
Todos os arquivos em /etc/hive-hcatalog/conf/ |
/conf/hive-hcatalog/ |
Todos os arquivos em /etc/knox/conf/ |
/conf/knox/ |
Todos os arquivos em /etc/pig/conf/ |
/conf/pig/ |
Todos os arquivos em /etc/presto/conf/ |
/conf/presto/ |
Todos os arquivos em /etc/spark/conf/ |
/conf/spark/ |
Todos os arquivos em /etc/tez/conf/ |
/conf/tez/ |
Todos os arquivos em /etc/zookeeper/conf/ |
/conf/zookeeper/ |