Usar a ferramenta gcpdiag
gcpdiag
é uma ferramenta de código aberto. Não é um produto do Google Cloud oficialmente compatível.
Use a ferramenta gcpdiag
para identificar e corrigir problemas no projeto do Google Cloud. Para mais informações, consulte o projeto gcpdiag no GitHub.
A ferramenta gcpdiag
ajuda a descobrir os seguintes dados do Dataproc
problemas de criação de cluster realizando as seguintes verificações:
- Erros de estoque esgotado:avalia os registros da Análise de registros para descobrir estoques em regiões e zonas.
- Cota insuficiente: verifica a disponibilidade de cota no projeto do cluster do Dataproc.
- Configuração de rede incompleta:realiza testes de conectividade de rede.
incluindo verificações de regras de firewall e de IPs externos e internos
configuração do Terraform. Se o cluster tiver sido excluído, a ferramenta
gcpdiag
não poderá realizar uma verificação de conectividade de rede. - Configuração incorreta entre projetos:verifica se há serviços entre projetos. e analisa a aplicação de políticas da organização e outros papéis.
- Papéis do IAM da VPC compartilhada ausentes: se o cluster do Dataproc usar uma rede VPC compartilhada, verifique a adição de papéis de conta de serviço necessários.
- Falhas na ação de inicialização: avalia a Análise de registros para descobrir falhas e tempos limite do script de ação de inicialização.
Para conferir uma lista de etapas de criação de cluster do gcpdiag
, consulte
Etapas potenciais.
Execute o comando gcpdiag
.
É possível executar o comando gcpdiag
no Cloud Shell no console do Google Cloud ou em um contêiner do Docker.
Console do Google Cloud
- Preencha e copie o comando a seguir.
- Abra o console do Google Cloud e ative o Cloud Shell. Abrir Console do Cloud
- Cole o comando copiado.
- Execute o comando
gcpdiag
, que faz o download da imagem Dockergcpdiag
. e realiza verificações de diagnóstico. Se aplicável, siga as instruções de saída para corrigir verificações com falha.
GOOGLE_AUTH_TOKEN=GOOGLE_AUTH_TOKEN \
gcpdiag runbook dataproc/cluster-creation \
--parameter project_id=PROJECT_ID \
--parameter cluster_name=CLUSTER_NAME \
--parameter OPTIONAL_FLAGS \
--auto --reason=REASON
Docker
Você pode
executar gcpdiag
usando um wrapper que inicia gcpdiag
em um contêiner do Docker. Docker ou
Podman precisa ser instalado.
- Copie e execute o seguinte comando na estação de trabalho local.
curl https://gcpdiag.dev/gcpdiag.sh >gcpdiag && chmod +x gcpdiag
- Execute o comando
gcpdiag
../gcpdiag runbook dataproc/cluster-creation \ --parameter project_id=PROJECT_ID \ --parameter cluster_name=CLUSTER_NAME \ --parameter OPTIONAL_FLAGS
Veja os parâmetros disponíveis para este runbook.
Substitua:
- PROJECT_ID: o ID do projeto que contém o recurso
- CLUSTER_NAME: o nome do destino Cluster do Dataproc no seu projeto
- OPTIONAL_PARAMETERS: adicione um ou mais dos
parâmetros opcionais a seguir. Esses parâmetros são obrigatórios se
o cluster tiver sido excluído.
cluster_uuid
: o UUID do Dataproc de destino no seu projetoservice_account
: o cluster do Dataproc Conta de serviço de VMsubnetwork
: a sub-rede do cluster do Dataproc caminho de URI completointernal_ip_only
: verdadeiro ou falsocross_project
: o ID entre projetos se o O cluster do Dataproc usa uma conta de serviço de VM em outro projeto
Flags úteis
--universe-domain
: se aplicável, a Nuvem soberana de parceiro confiável que hospeda o recurso--parameter
ou-p
: parâmetros do runbook
Para conferir uma lista e descrição de todas as flags da ferramenta gcpdiag
, consulte
Instruções de uso do gcpdiag
.
Entender e corrigir erros de criação de cluster
Esta seção lista as mensagens de erro do Dataproc e as causas e soluções comuns.
Tempo limite da operação atingido:apenas 0 de 2 gerenciadores de nós/nós de dados mínimos necessários em execução.
Causa: o nó mestre não consegue criar o cluster porque não pode se comunicar com os nós de trabalho.
Solução:
- Confira os avisos de regra de firewall.
- Verifique se as regras de firewall corretas estão em vigor. Para mais informações, consulte Visão geral das regras de firewall padrão do Dataproc.
- Realizar um teste de conectividade no console do Google Cloud para determinar bloquear a comunicação entre os nós mestres e de trabalho.
Permissão
compute.subnetworks.use
necessária paraprojects/{projectId}/regions/{region}/subnetworks/{subnetwork}
Causa: esse erro pode ocorrer quando você tenta configurar um cluster do Dataproc usando uma rede VPC em outro projeto e a conta de serviço do agente de serviços do Dataproc não tem as permissões necessárias no projeto de VPC compartilhada que hospeda a rede.
Solução: siga as etapas listadas em Criar um cluster que usa uma rede VPC em outro projeto.
A zona
projects/zones/{zone}
não tem recursos suficientes disponíveis para atender à solicitação(resource type:compute)
Causa: a zona usada para criar o cluster não tem recursos suficientes.
Solução:
- Crie o cluster em uma zona diferente.
- Usar o Dataproc Colocação em zona automática recurso.
Erros de cota excedida
Cota insuficiente de CPUs/CPUS_ALL_REGIONS
Cota insuficiente de "DISKS_TOTAL_GB"
Cota insuficiente "IN_USE_ADDRESSES"Causa: sua solicitação de CPU, disco ou endereço IP excede a cota disponível.
Solução: solicite mais cota no console do Google Cloud.
Falha na ação de inicialização
Causa: a ação de inicialização fornecida durante a criação do cluster não foi instalada.
Solução:
- Consulte considerações e diretrizes de ações de inicialização.
- Analise os registros de saída. A mensagem de erro precisa fornecer um link para os registros no Cloud Storage.
Falha ao inicializar o nó {cluster-name}: {component}
Causa: um componente do Dataproc não foi inicializado.
Solução: consulte:
Falha na criação do cluster: espaço de endereço IP esgotado
Causa: o espaço de endereços IP necessário para provisionar os nós de cluster solicitados está indisponível.
Solução:
- Crie um cluster em uma sub-rede ou rede diferente.
- Reduza o uso na rede para liberar espaço de endereço IP.
- Aguarde até que haja espaço IP suficiente disponível na rede.
Mensagem de erro do script de inicialização: o repositório REPO_NAME não tem mais um arquivo de lançamento
Causa: o repositório de backports antigos estáveis do Debian foi limpo.
Solução:
Adicione o código abaixo antes do código que executa
apt-get
no script de inicialização.oldstable=$(curl -s https://deb.debian.org/debian/dists/oldstable/Release | awk '/^Codename/ {print $2}'); stable=$(curl -s https://deb.debian.org/debian/dists/stable/Release | awk '/^Codename/ {print $2}'); matched_files="$(grep -rsil '\-backports' /etc/apt/sources.list*)" if [[ -n "$matched_files" ]]; then for filename in "$matched_files"; do grep -e "$oldstable-backports" -e "$stable-backports" "$filename" || \ sed -i -e 's/^.*-backports.*$//' "$filename" done fi
A rede está inacessível: dataproccontrol-REGION.googleapis.com/...*
Causa: a rede VPC do cluster do Dataproc pode não ter uma conexão rotear para a Internet. O agente do Dataproc em execução em VMs de cluster precisa de uma rota para a Internet para acessar a API de controle do Dataproc e receber jobs e status de relatório. A rota padrão gerada pelo sistema à Internet podem ter sido excluídas.
Solução:
Adicione uma rota para a Internet à rede VPC do cluster:
0.0.0.0/0
para IPv4 e::/0
para IPv6 com--next-hop-gateway=default-internet-gateway
. Adicione regras de firewall para o controle de acesso.
Ler informações relacionadas
- Ferramentas de monitoramento e solução de problemas do Dataproc
- Diagnóstico de clusters do Dataproc
- Perguntas frequentes sobre o Dataproc