Diagnóstico de clusters do Dataproc

Consultar as informações de registro e configuração pode ser útil para solucionar problemas de cluster ou job. Há muitos arquivos de registro e configuração, e a coleta de cada um deles para investigação consome muito tempo. Para resolver esse problema, os clusters do Cloud Dataproc são compatíveis com um comando diagnose especial por meio do SDK do Cloud. Esse comando coleta e arquiva registros importantes do sistema, do Spark/Hadoop e do Cloud Dataproc. Em seguida, ele faz upload do arquivo para o bucket do Cloud Storage anexado ao cluster.

Como usar o comando diagnose

É possível usar o comando diagnose do SDK do Cloud nos clusters do Cloud Dataproc (consulte Dataproc e SDK do Cloud).

Depois de instalar e configurar o SDK do Cloud, execute o comando gcloud dataproc clusters diagnose no cluster, conforme mostrado abaixo. Substitua cluster-name pelo nome do cluster e region pela região do cluster, por exemplo, --region=us-central1.

gcloud dataproc clusters diagnose cluster-name \
    --region=region \
    ... other args ...

O comando exibe o nome e local do arquivo que contém os dados.

...
Saving archive to cloud
Copying file:///tmp/tmp.FgWEq3f2DJ/diagnostic.tar ...
Uploading   ...23db9-762e-4593-8a5a-f4abd75527e6/diagnostic.tar ...
Diagnostic results saved in:
gs://bucket-name/.../cluster-uuid/.../job-id/diagnostic.tar
    ...
Neste exemplo, bucket-name é o bucket do Cloud Storage anexado ao cluster, cluster-uuid é o código exclusivo (UUID) do cluster e job-id é o UUID pertencente à tarefa do sistema que executou o comando do diagnóstico.

Quando você cria um cluster, o Cloud Dataproc cria automaticamente um bucket do Cloud Storage e o anexa ao cluster. O comando de diagnóstico inclui o arquivo nesse bucket. Para determinar o nome do bucket criado pelo Cloud Dataproc, use o comando clusters describe do SDK do Cloud. O bucket associado ao cluster é listado ao lado de configurationBucket.

gcloud dataproc clusters describe cluster-name \
    --region=region \
...
  clusterName: cluster-name
  clusterUuid: daa40b3f-5ff5-4e89-9bf1-bcbfec6e0eac
  configuration:
  configurationBucket: dataproc-edc9d85f-...-us
  ...

Compartilhamento dos dados coletados pelo comando de diagnóstico

É possível compartilhar o arquivo gerado pelo comando diagnose de duas maneiras:

  1. Faça download do arquivo do Cloud Storage e compartilhe-o.
  2. Altere as permissões no arquivo para autorizar outros usuários ou projetos do Google Cloud Platform a acessar o arquivo.

Por exemplo, o comando a seguir adiciona permissões de leitura ao arquivo de diagnóstico em um test-project:

gsutil -m acl ch -g test-project:R path-to-archive

Itens incluídos na saída do comando de diagnóstico

O comando diagnose inclui os seguintes arquivos de configuração, registros e saídas do cluster em um arquivo, que é armazenado no bucket do Cloud Storage associado ao cluster do Cloud Dataproc, conforme mencionado anteriormente.

Daemon e informações de estado

Comando executado Local no arquivo
yarn node -list -all /system/yarn-nodes.log
hdfs dfsadmin -report -live -decommissioning /system/hdfs-nodes.log
service --status-all /system/service.log
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 registro

Item(ns) incluído(s) Local no arquivo
Todos os registros em /var/log com os seguintes prefixos no nome do arquivo:
gcs
google
gcdp
hadoop
hdfs
hive
spark
syslog
yarn
Os arquivos são armazenados na pasta logs e mantêm os nomes originais deles.
Registros de inicialização de node do Cloud 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.

Arquivos de configuração

Item(ns) incluído(s) Local no arquivo
Todos os arquivos em /etc/hadoop/conf/ Os arquivos são armazenados na pasta hadoop_conf e mantêm os nomes originais deles.