É 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 upload dos dados e resumo do diagnóstico
ao 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. Especificar um período também ativa a coleta de os registros de escalonamento automático do Dataproc durante o intervalo de tempo (por padrão, Os registros de escalonamento automático do Dataproc não são coletados no dados de diagnóstico).--tarball-access
=GOOGLE_DATAPROC_DIAGNOSE
Use esta sinalização para enviar ou conceder acesso ao .tar de diagnóstico ao arquivo Equipe de suporte do Google Cloud. Além disso, forneça informações à equipe de suporte do Google Cloud da seguinte forma:- 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,
Executar o script de diagnóstico a partir do 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
diagnóstico, você pode
Conecte-se ao nó mestre do cluster usando SSH,
faça o download do script de diagnóstico e execute-o 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 do arquivo de 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
- Mude as permissões no arquivo para autorizar outras APIs do Google Cloud usuários ou projetos 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 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:as seções a seguir listam os arquivos e as informações. no arquivo .tar do arquivo 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 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/ |