É possível monitorar e resolver problemas do Dataproc sem servidor para Cargas de trabalho em lote do Spark usando as informações e ferramentas discutidas nas seções a seguir.
Servidor de histórico persistente
O Dataproc Serverless para Spark cria os recursos de computação necessários para executar uma carga de trabalho. executa a carga de trabalho nesses recursos e os exclui quando a carga de trabalho termina. As métricas e os eventos da carga de trabalho não são mantidos após a conclusão dela. No entanto, é possível usar Persistent History Server (PHS) para reter o histórico de aplicativos da carga de trabalho (evento) registros) no Cloud Storage.
Para usar um PHS com uma carga de trabalho em lote, faça o seguinte:
Especifique seu PHS ao enviar uma carga de trabalho.
Usar o Gateway de Componentes para se conectar ao PHS e visualizar detalhes do aplicativo, estágios do programador, detalhes no nível da tarefa e ambiente e executor.
Dataproc sem servidor para registros do Spark
A geração de registros é ativada por padrão no Dataproc sem servidor para Spark, e os registros de carga de trabalho são mantidos após um
carga de trabalho concluída. O Dataproc sem servidor para Spark coleta registros de cargas de trabalho no Cloud Logging.
É possível acessar os registros spark
, agent
, output
e container
da carga de trabalho no
Cloud Dataproc Batch
na Análise de registros.
Exemplo de lote do Dataproc sem servidor para Spark:
Para mais informações, consulte Registros do Dataproc.
Registros de auditoria do Dataproc sem servidor
Para informações sobre os registros de auditoria do Dataproc sem servidor, consulte Geração de registros de auditoria do Dataproc
Métricas de carga de trabalho
Por padrão, o Dataproc sem servidor para Spark permite a coleta de métricas do Spark disponíveis, a menos que você use Propriedades da coleta de métricas do Spark para desativar ou modificar a coleta de uma ou mais métricas do Spark.
É possível conferir as métricas de carga de trabalho no Metrics Explorer ou Página Detalhes do lote no console do Google Cloud.
Métricas em lote
As métricas de recursos batch
do Dataproc fornecem insights sobre recursos em lote,
como o número de executores de lote. As métricas em lote são prefixadas
dataproc.googleapis.com/batch
:
Métricas do Spark
Métricas do Spark disponíveis
incluem métricas do driver e do executor do Spark e métricas do sistema. As métricas do Spark disponíveis são prefixadas
com custom.googleapis.com/
.
Configurar alertas de métricas
Você pode criar alertas de métricas do Dataproc para receber avisos sobre problemas na carga de trabalho.
Criar gráficos
É possível criar gráficos que visualizam métricas de carga de trabalho usando o
Metrics Explorer na
console do Google Cloud. Por exemplo, é possível
crie um gráfico para mostrar disk:bytes_used
e filtre por batch_id
.
Cloud Monitoring
O Monitoring usa metadados e métricas de carga de trabalho para fornecer insights sobre a integridade e o desempenho do Dataproc sem servidor para cargas de trabalho do Spark. As métricas de carga de trabalho incluem métricas do Spark, métricas em lote e métricas de operação.
É possível usar o Cloud Monitoring no console do Google Cloud. para conferir métricas e adicionar gráficos e criar painéis e alertas.
Criar painéis
É possível criar um painel para monitorar cargas de trabalho usando métricas de vários projetos e diferentes produtos do Google Cloud. Para mais informações, consulte Criar e gerenciar painéis personalizados.
Solução de problemas avançada (pré-lançamento)
Nesta seção, abordamos os conceitos avançados de solução de problemas recursos (Pré-lançamento) que são disponíveis no console do Google Cloud. Esses recursos incluem Solução de problemas assistida pelo Gemini para Dataproc sem servidor, que faz parte da solução Gemini no BigQuery.
Acesso a recursos de pré-visualização
Para se inscrever no pré-lançamento do recursos avançados de solução de problemas, preencha e envie Inscrição pré-GA do Gemini no BigQuery forma Depois da aprovação do formulário, os projetos listados nele terão acesso a pré-lançamento de recursos.
Visualizar preços
Não há cobrança adicional por participar da prévia. Os seguintes recursos em fase de pré-lançamento vão receber cobranças quando eles forem ativados disponibilidade geral (GA):
- Solução de problemas assistida pelo Gemini para Dataproc sem servidor
- Destaques das métricas em lote
- Registros do job
Um aviso com antecedência das cobranças do GA será enviado para o endereço de e-mail informado formulário de inscrição de visualização.
Requisitos de atributos
Inscrição: é necessário se inscrever no recurso.
Permissão:é preciso ter a permissão
dataproc.batches.analyze
.Se você tiver o papel
roles/dataproc.admin
,roles/dataproc.editor
ouroles/dataproc.viewer
você tem a permissão necessária. Nenhuma ação adicional é necessária.Se você usa um papel personalizado para acessar os serviços do Dataproc, o papel personalizado precisa ter a permissão
dataproc.batches.analyze
. Você pode usar a CLI gcloud para adicionar a permissão; como mostrado no comando a seguir, que adiciona a permissão ao para envolvidos no projeto:
gcloud iam roles update CUSTOM_ROLE_ID --project=PROJECT_ID \ --add-permissions="dataproc.batches.analyze"
Ative a solução de problemas assistida pelo Gemini para o Dataproc sem servidor:você ativa a solução de problemas assistida pelo Gemini. solução de problemas do Dataproc sem servidor ao enviar cada carga de trabalho em lote recorrente do Spark usando o console do Google Cloud, CLI gcloud ou o API. Depois que esse recurso for ativado em uma carga de trabalho em lote recorrente, o Dataproc armazena uma cópia dos registros de carga de trabalho por 30 dias e usa os dados de registro salvos para oferecer a solução de problemas assistida pelo Gemini para a carga de trabalho. Para informações sobre o conteúdo dos registros de carga de trabalho do Spark, consulte Dataproc sem servidor para registros do Spark.
Console
Siga estas etapas para ativar a solução de problemas assistida pelo Gemini em cada carga de trabalho recorrente em lote do Spark:
No console do Google Cloud, acesse a página Lotes do Dataproc.
Para criar uma carga de trabalho em lote, clique em Criar.
Na seção Contêiner, preencha Nome da coorte, que identifica o lote como uma de uma série de cargas de trabalho recorrentes. A análise assistida pelo Gemini é aplicada à segunda carga de trabalho e às subsequentes enviados com esse nome de coorte. Por exemplo, especifique
TPCH-Query1
como o nome da coorte de uma carga de trabalho programada que executa um diária do TPC-H.Preencha outras seções da página Criar lote conforme necessário e clique em Envie. Para mais informações, consulte Envie uma carga de trabalho em lote.
gcloud
Execute a CLI gcloud a seguir
gcloud dataproc batches submit
localmente em uma janela de terminal ou no Cloud Shell
para ativar a solução de problemas assistida pelo Gemini em cada carga de trabalho recorrente em lote do Spark:
gcloud dataproc batches submit COMMAND \ --region=REGION \ --cohort=COHORT \ other arguments ...
Substitua:
- COMMAND: o tipo de carga de trabalho do Spark, como
Spark
,PySpark
.Spark-Sql
ouSpark-R
. - REGION: o região onde a carga de trabalho será executada.
- COHORT: o nome da coorte, que
identifica o lote como uma de uma série de cargas de trabalho recorrentes.
A análise assistida pelo Gemini é aplicada à segunda carga de trabalho e às subsequentes enviadas
a este nome de coorte. Por exemplo, especifique
TPCH Query 1
como o nome da coorte de uma carga de trabalho programada que executa uma TPC-H.
API
Inclua o RuntimeConfig.cohort
em um batches.create
solicitação para ativar a solução de problemas assistida pelo Gemini em cada Spark recorrente
em lote. A análise assistida pelo Gemini é aplicada à segunda carga de trabalho e às subsequentes enviadas
a este nome de coorte. Por exemplo, especifique TPCH-Query1
como o nome da coorte.
para uma carga de trabalho programada que é executada diariamente
TPC-H.
Exemplo:
...
runtimeConfig:
cohort: TPCH-Query1
...
Solução de problemas assistida pelo Gemini no Dataproc sem servidor
Os seguintes recursos de prévia para solução de problemas assistidos pelo Gemini estão disponíveis no Detalhes do lote e Lotes listam páginas no console do Google Cloud.
Guia Investigar: a guia "Investigar" na página Detalhes do lote fornece uma seção de visão geral da integridade (pré-lançamento) com o seguinte: Painéis de solução de problemas assistidos pelo Gemini:
- O que foi ajustado automaticamente? Se você ajuste automático ativado em uma ou mais cargas de trabalho, esse painel exibe as mudanças mais recentes no ajuste automático que foram aplicadas a cargas de trabalho em execução, concluídas e com falha.
- O que está acontecendo agora? e O que posso fazer a respeito? Clique em Pedir ao Gemini para pedir recomendações e ajudar a corrigir cargas de trabalho com falha. ou melhorar cargas de trabalho bem-sucedidas, mas lentas.
Se você clicar em Perguntar ao Gemini, o Gemini para Google Cloud vai gerar um resumo de todos os erros, ou destaques de registros de carga de trabalho, métricas e eventos do Spark. O Gemini para Google Cloud também pode mostrar uma lista de etapas recomendadas para corrigir uma falha ou melhorar o desempenho de uma carga de trabalho bem-sucedida, mas lenta.
Colunas de solução de problemas assistidas pelo Gemini:como parte do de pré-lançamento, a página da lista Lotes do Dataproc na O console do Google Cloud inclui
What was Autotuned
,What is happening now?
, eWhat can I do about it?
.O botão Perguntar ao Gemini vai aparecer. ativada somente se um lote completo estiver no estado
Failed
,Cancelled
ouSucceeded
. Se você clicar em Perguntar ao Gemini, o Gemini no Google Cloud gera um resumo de todos os erros, anomalias ou destaques de registros de carga de trabalho, métricas e eventos do Spark. O Gemini para Google Cloud também pode mostrar uma lista de etapas recomendadas para corrigir uma falha ou melhorar o desempenho de uma carga de trabalho bem-sucedida, mas lenta.
Destaques de métricas em lote
Como parte da versão de pré-lançamento, a página Detalhes do lote no console do Google Cloud inclui gráficos que exibem valores importantes das métricas de carga de trabalho em lote. A métrica os gráficos são preenchidos com valores após a conclusão do lote.
A tabela a seguir lista as métricas de carga de trabalho do Spark exibidas na Página Detalhes do lote no console do Google Cloud e descreve como as métricas podem fornecer insights sobre o status e o desempenho da carga de trabalho.
Métrica | O que ele mostra? |
---|---|
Métricas no nível do Executor | |
Proporção do tempo de execução de GC da JVM | Essa métrica mostra a proporção entre o tempo de GC (coleta de lixo) da JVM e o tempo de execução por executor. Proporções altas podem indicar vazamentos de memória em tarefas executadas em executores específicos ou estruturas de dados ineficientes, o que pode levar a uma alta rotatividade de objetos. |
Bytes do disco espalhados | Essa métrica mostra o número total de bytes de disco espalhados por diferentes executores. Se um executor mostrar muitos bytes de disco espalhados, isso pode indicar desvio de dados. Se a métrica aumentar ao longo do tempo, isso pode indicar que há estágios com pressão ou vazamentos de memória. |
Bytes lidos e gravados | Essa métrica mostra os bytes gravados em comparação aos bytes lidos por executor. Grandes discrepâncias nos bytes lidos ou gravados podem indicar cenários em que as junções replicadas levam à amplificação de dados em executores específicos. |
Registros lidos e gravados | Essa métrica mostra registros lidos e gravados por executor. Um grande número de leituras de registro com poucos registros gravados pode indicar um gargalo na lógica de processamento em executores específicos, fazendo com que os registros sejam lidos durante a espera. Os executores que demoram consistentemente para ler e gravar podem indicar contenção de recursos nesses nós ou ineficiências de código específicas do executor. |
Proporção entre o tempo de gravação do embaralhamento e o tempo de execução | A métrica mostra a quantidade de tempo que o executor passou no ambiente de execução de embaralhamento em comparação com o ambiente geral. Se esse valor for alto para alguns executores, isso poderá indicar distorção ou serialização ineficiente de dados. É possível identificar estágios com longos tempos de gravação de embaralhamento na interface do Spark. Procure tarefas outliers nesses estágios que levam mais do que o tempo médio para conclusão. Confira se os executores com altos tempos de gravação de embaralhamento também mostram alta atividade de E/S do disco. Uma serialização mais eficiente e etapas adicionais de particionamento podem ajudar. Gravações de registros muito grandes em comparação com as leituras de registro podem indicar duplicação não intencional de dados devido a junções ineficientes ou transformações incorretas. |
Métricas no nível do aplicativo | |
Progressão de fases | Essa métrica mostra o número de estágios nos estágios com falha, em espera e em execução. Um grande número de estágios com falha ou em espera pode indicar desvio de dados. Verifique se há partições de dados e depure o motivo da falha do estágio usando a guia Stages na interface do Spark. |
Executores de lote do Spark | Esta métrica mostra o número de executores que podem ser necessários em relação ao número de executores em execução. Uma grande diferença entre os executores necessários e em execução podem indicar problemas de escalonamento automático. |
Métricas no nível da VM | |
Memória usada | Essa métrica mostra a porcentagem de memória da VM em uso. Se a porcentagem do mestre for alta, isso pode indicar que o driver está sob pressão de memória. Para outros nós de VM, uma porcentagem alta pode indicar que os executores estão ficando sem memória, o que pode resultar em um alto vazamento de disco e em um ambiente de execução de carga de trabalho mais lento. Use a interface do Spark para analisar os executores e verificar se há um alto tempo de GC e muitas falhas de tarefas. Além disso, depure o código Spark para armazenamento em cache de grandes conjuntos de dados e transmissão desnecessária de variáveis. |
Registros do job
Como parte da versão de pré-lançamento, a página Detalhes do lote no console do Google Cloud lista registros de job (carga de trabalho em lote). Os registros incluem avisos e erros filtrados das saídas de cargas de trabalho e dos registros do Spark. Selecione "Registrar" Gravidade, adicione um Filtro e clique no ícone Ver na Análise de registros. para abrir os registros em lote selecionados na Análise de registros.
Exemplo: a Análise de registros abre depois de escolher Errors
em "Gravidade"
seletor na página Detalhes do lote no console do Google Cloud.
Interface do Spark (pré-lançamento)
Se você registrou seu projeto na visualização da IU do Spark é possível visualizar a interface do Spark no console do Google Cloud sem precisar para criar Cluster PHS (Persistent History Server) do Dataproc. A interface do Spark coleta detalhes de execução do Spark de cargas de trabalho em lote. Para mais informações, consulte o Guia do usuário distribuído para os clientes inscritos como parte da versão de pré-lançamento da interface do Spark.