Solucionar problemas de computação
Este artigo fornece recursos que podem ser usados caso o senhor precise solucionar problemas de comportamento do compute no seu workspace. Os tópicos deste artigo estão relacionados a compute start-up questões.
Para outros artigos de solução de problemas, consulte:
Diagnosticar problemas de custo e desempenho usando o Spark UI
Tratamento de consultas de grande porte em fluxo de trabalho interativo.
Uma nova computação não responde
Depois do que parece ser uma implementação bem-sucedida do workspace, o senhor pode perceber que o primeiro teste compute não responde. Após aproximadamente 20-30 minutos, verifique o eventocompute log . O senhor poderá ver uma mensagem de erro semelhante a:
The compute plane network is misconfigured. Please verify that the network for your compute plane is configured correctly. Error message: Node daemon ping timeout in 600000 ms ...
Essa mensagem indica que o roteamento ou o firewall está incorreto. Databricks solicitou instâncias do EC2 para um novo compute, mas encontrou um longo atraso aguardando que a instância do EC2 fosse inicializada e se conectasse ao plano de controle. O gerenciador compute encerra as instâncias e relata esse erro.
Sua configuração de rede deve permitir que as instâncias do nó compute se conectem com êxito ao plano de controle do Databricks. Para uma técnica de solução de problemas mais rápida do que usar um compute, o senhor pode implantar uma instância do EC2 em uma das sub-redes do workspace e fazer a solução de problemas de rede típica com passos como nc
, ping
, telnet
, traceroute
etc. O Relay CNAME para cada região é mencionado nos artigos do customer-gerenciar VPC. Para o armazenamento de artefatos, certifique-se de que haja um caminho de rede bem-sucedido para o S3.
Para domínios de acesso e IPs por região, consulte Endereços IP e domínios para Databricks serviço e ativo. Para o ponto de extremidade regional, consulte (Recomendado) Configurar o ponto de extremidade regional. O exemplo a seguir usa a região eu-west-1
da AWS:
# Verify access to the web application
nc -zv ireland.cloud.databricks.com 443
# Verify access to the secure compute connectivity relay
nc -zv tunnel.eu-west-1.cloud.databricks.com 443
# Verify S3 global and regional access
nc -zv s3.amazonaws.com 443
nc -zv s3.eu-west-1.amazonaws.com 443
# Verify STS global and regional access
nc -zv sts.amazonaws.com 443
nc -zv sts.eu-west-1.amazonaws.com 443
# Verify regional Kinesis access
nc -zv kinesis.eu-west-1.amazonaws.com 443
Se tudo isso retornar corretamente, a rede poderá estar configurada corretamente, mas pode haver outro problema se você estiver usando um firewall.O firewall pode ter uma inspeção profunda de pacotes, inspeção de SSL ou qualquer outra coisa que faça com que os comandos do Databricks falhem.Usando uma instância do EC2 na sub-rede do Databricks, tente o seguinte:
curl -X GET -H 'Authorization: Bearer <token>' \
https://<workspace-name>.cloud.databricks.com/api/2.0/clusters/spark-versions
Substitua <token>
por seu próprio access token pessoal e use o URL correto para seu workspace. Consulte a API de gerenciamento de tokens.
Se esta solicitação falhar, experimente a opção -k
com sua solicitação para remover a verificação de SSL. Se isso funcionar com a opção -k
, então o firewall estará causando um problema com certificados SSL.
Veja os certificados SSL usando o seguinte e substitua o nome do domínio pelo domínio do aplicativo da Web do plano de controle da sua região:
openssl s_client -showcerts -connect oregon.cloud.databricks.com:443
Este comando mostra o código de retorno e os certificados do Databricks.Se ele retornar um erro, é sinal de que seu firewall está configurado incorretamente e deve ser corrigido.
Observe que os problemas de SSL não são um problema de camada de rede. A visualização do tráfego no firewall não mostrará esses problemas de SSL. Observar as solicitações de origem e destino funcionará conforme o esperado.
Problemas ao usar o metastore ou os logs de eventos de computação incluem eventos METASTORE_DOWN
Se o seu workspace parece estar funcionando e você pode configurar o compute, mas tem METASTORE_DOWN
eventos nos logs de eventos docompute , ou se o seu metastore parece não funcionar, confirme se você usa um Web Application Firewall (WAF) como o proxy Squid. compute Os membros devem se conectar a vários serviços que não funcionam em um WAF.
Compute começar error: failed to launch Spark container on instance
O senhor poderá ver um erro nos registros do site compute, como, por exemplo, o seguinte:
Cluster start error: failed to launch spark container on instance ...
Exception: Could not add container for ... with address ....
Timed out with exception after 1 attempts
Esse erro decompute logs provavelmente se deve ao fato de a instância não conseguir usar o STS para entrar no bucket S3 raiz. Isso geralmente acontece quando o senhor está implementando a proteção contra exfiltração, usando o endpoint VPC para bloquear a comunicação ou adicionando um firewall.
Para corrigir, faça uma das seguintes coisas:
Altere o firewall para permitir a passagem do endpoint STS global (
sts.amazonaws.com
), conforme documentado nos documentos de requisitos da VPC.Use um VPC endpoint para configurar o endpointregional.
Para obter mais informações sobre o erro, chame o comando AWS CLI da decode-authorization-message
. Para obter detalhes, consulte o artigo da AWS para decode-authorization-message. O comando tem a seguinte aparência:
aws sts decode-authorization-message --encoded-message
Você poderá ver esse erro se configurar um endpoint VPC (VPCE) com um grupo de segurança diferente para o STS VPCE em relação aos workspaces.Você pode atualizar os grupos de segurança para permitir que os recursos em cada grupo de segurança conversem entre si ou colocar o STS VPCE no mesmo grupo de segurança que as sub-redes do workspace.
compute Os nós precisam usar o STS para acessar o bucket S3 raiz usando a política S3 do cliente. Um caminho de rede deve estar disponível para o serviço AWS STS a partir dos nós do Databricks compute.