É possível executar 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 você pode examinar ou compartilhar com o Suporte do Google
para solucionar problemas de um cluster ou job do Dataproc.
O comando faz o upload dos dados e resumo do diagnóstico
para o bucket de preparo do Dataproc
no Cloud Storage.
Execute o comando de diagnóstico do cluster da Google Cloud CLI
Execute o gcloud dataproc clusters diagnose
.
para criar e gerar 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
: esta sinalização pode ser usada para coletar o driver do job, o evento do Spark, o YARN do aplicativo e registros de saída do Spark Lense, além dos arquivos de registro padrão, para uma lista separada por vírgulas especificada de IDs de jobs. Para jobs MapReduce, apenas os registros do aplicativo YARN são coletados. A agregação de registros YARN precisa estar ativada para a coleção do aplicativo YARN ou de sistemas operacionais de contêineres.--yarn-application-ids
: esta flag pode ser usada para coletar o driver do job, o evento do Spark, do aplicativo YARN e dos registros de saída do Spark Lense, além dos arquivos de registro padrão, para uma lista separada por vírgulas especificada de YARN IDs de aplicativos. A agregação de registros YARN precisa estar ativada para a coleção de registros do aplicativo YARN.--start-time
com--end-time
: use as duas sinalizações para especificar um horário. intervalo, no formato%Y-%m-%dT%H:%M:%S.%fZ
, para a coleção de dados de diagnóstico. A especificação de um período também permite a coleta de registros de escalonamento automático do Dataproc durante esse período. 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 conceder acesso ao arquivo .tar de diagnóstico Equipe de suporte do Google Cloud. Também forneça informações à 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 de o comando Diagnosticar,
Execute o script de diagnóstico no nó mestre do cluster (se necessário)
O comando gcloud dataproc clusters diagnose
pode falhar ou expirar se um cluster
está em estado de erro e não pode aceitar tarefas de diagnóstico
no servidor Dataproc. Como alternativa à execução do comando de diagnóstico, você pode se conectar ao nó mestre do cluster usando o SSH, fazer o download do script de diagnóstico e executá-lo localmente no nó mestre.
gcloud compute ssh HOSTNAME
gcloud storage cp gs://dataproc-diagnostic-scripts/diagnostic-script.sh .
sudo bash diagnostic-script.sh
O arquivo tar do diagnóstico é salvo em um diretório local. O comando A saída lista a localização do arquivo .tar com instruções sobre como fazer upload dele para um bucket do Cloud Storage.
Como compartilhar dados de diagnóstico
Para compartilhar o arquivo:
- Fazer o download do arquivo do Cloud Storage e, em seguida, compartilhar o arquivo baixado ou
- Mudar 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.
para um usuário jane@gmail.com
:
gcloud storage objects update PATH_TO_ARCHIVE} --add-acl-grant=entity=user-jane@gmail.com,role=roles/storage.legacyObjectReader
Resumo do diagnóstico e conteúdo do arquivo
O comando diagnose
gera um resumo de diagnóstico e um arquivo .tar que contém
arquivos de configuração do cluster, registros e outros arquivos e informações. O arquivo
é gravado no Dataproc
bucket de preparo
no Cloud Storage.
Resumo do diagnóstico:o script de diagnóstico analisa os dados coletados e gera uma
summary.txt
na raiz do arquivo de diagnóstico. O resumo oferece
Visão geral do status do cluster, incluindo YARN, HDFS, disco e rede
status e inclui avisos para alertá-lo sobre possíveis problemas.
Arquivo tar de arquivamento: as seções a seguir listam os arquivos e as informações contidas 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 os seguintes prefixos no nome do 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/ |