gerenciar computação

Este artigo descreve como gerenciar o Databricks compute, incluindo a exibição, a edição, a inicialização, o encerramento, a exclusão, o controle de acesso e o monitoramento do desempenho e logs. O senhor também pode usar a API de Clusters para gerenciar compute programaticamente.

Ver computação

Para view seu compute, clique em Ícone de computação compute na barra lateral workspace.

No lado esquerdo, há duas colunas que indicam se o compute foi fixado e o status do compute. Passe o mouse sobre o status para obter mais informações.

Exibir a configuração de computação como um arquivo JSON

Às vezes, pode ser útil view sua configuração compute como JSON. Isso é especialmente útil quando o senhor deseja criar um compute semelhante usando a API Clusters. Quando o senhor acessar view um site existente compute, vá para Configuration tab, clique em JSON no canto superior direito do site tab, copie o JSON e cole-o em sua chamada de API. O JSON view é somente leitura.

Fixar um computador

30 dias após o término de um compute, ele é excluído permanentemente. Para manter uma configuração compute para todos os fins depois que um compute for encerrado por mais de 30 dias, um administrador pode pin o compute. Até 100 compute recurso pode ser fixado.

Os administradores podem acessar pin um compute na lista compute ou na página de detalhes compute clicando no ícone pin.

Editar uma computação

O senhor pode editar a configuração do site computena UI de detalhes do site compute.

Observação

  • O notebook e o trabalho que foram anexados ao site compute permanecem anexados após a edição.

  • biblioteca instalados no site compute permanecem instalados após a edição.

  • Se o senhor editar qualquer atributo de um compute em execução (exceto o tamanho e as permissões do compute ), deverá reiniciá-lo. Isso pode atrapalhar os usuários que estão usando o site compute.

  • O senhor só pode editar um site em execução ou encerrado compute. No entanto, o senhor pode atualizar as permissões para compute que não estejam nesses estados na página de detalhes compute.

Clonar uma computação

Para clonar um compute existente, selecione Clone no menu compute's Menu Kebab kebab.

Depois que o senhor seleciona Clone, a UI de criação do compute é aberta pré-preenchida com a configuração do compute. Os seguintes atributos não estão incluídos no clone:

  • compute permissões

  • Notebooks anexados

Se o senhor não quiser incluir a biblioteca instalada anteriormente no site clonado compute, clique no menu suspenso ao lado do botão Create compute e selecione Create without biblioteca.

Permissões de computação

Há quatro níveis de permissão para um compute: NO PERMISSIONS, CAN ATTACH TO, CAN RESTART, e CAN MANAGE. A tabela lista as habilidades de cada permissão.

Importante

Os usuários com permissões CAN ATTACH TO podem view o serviço account key no arquivo log4j. Tenha cuidado ao conceder esse nível de permissão.

Função

No Permissions

Can Attach To (Pode anexar a)

Can Restart (Pode reiniciar)

Can Manage (Pode gerenciar)

Acesse Notebook para compute

x

x

x

Ver interface do usuário do Spark

x

x

x

view compute métricas

x

x

x

Exibir logs dos drivers

x (ver nota)

Encerrar compute

x

x

começar e reiniciar compute

x

x

Editar compute

x

Anexar a biblioteca ao compute

x

Redimensionar compute

x

Modificar permissões

x

workspace Os administradores têm a permissão CAN MANAGE em todos os compute em seus workspace. Os usuários têm automaticamente a permissão CAN MANAGE no site compute que criam.

Observação

Os segredos não são redigidos nos registros do Spark driver de um cluster stdout e stderr transmissão. Para proteger dados confidenciais, em default, os logs de driver do Spark podem ser visualizados apenas por usuários com permissão CAN MANAGE em Job, modo de acesso de usuário único e clusters de modo de acesso compartilhado. Para permitir que os usuários com permissão CAN ATTACH TO ou CAN RESTART acessem view os logs nesses clusters, defina a seguinte propriedade de configuração do Spark na configuração dos clusters: spark.databricks.acl.needAdminPermissionToViewLogs false.

Em clusters de modo de acesso compartilhado sem isolamento, os registros do driver do Spark podem ser visualizados por usuários com permissão CAN ATTACH TO ou CAN MANAGE. Para limitar quem pode ler os logs apenas aos usuários com a permissão CAN MANAGE, defina spark.databricks.acl.needAdminPermissionToViewLogs como true.

Consulte Configuração do Spark para saber como adicionar propriedades do Spark a uma configuração de clusters.

Configurar permissões de computação

Esta seção descreve como gerenciar as permissões usando a interface do usuário workspace. O senhor também pode usar a API de permissões ou o provedor Terraform da Databricks.

O senhor deve ter a permissão CAN MANAGE em um compute para configurar as permissões do compute.

  1. Na barra lateral, clique em Calcular.

  2. Na linha do site compute, clique no menu kebab Reticências verticais à direita e selecione Edit permissions (Editar permissões).

  3. Em Permission Settings (Configurações de permissão), clique no menu suspenso Select user, group or service principal... (Selecionar usuário, grupo ou entidade de serviço...) e selecione um usuário, grupo ou entidade de serviço.

  4. Selecione uma permissão no menu suspenso de permissões.

  5. Clique em Add e em Save.

Encerrar uma computação

Para economizar compute recurso, o senhor pode encerrar um compute. A configuração do site computeencerrado é armazenada para que possa ser reutilizada (ou, no caso do Job, iniciada automaticamente) posteriormente. O senhor pode encerrar manualmente um compute ou configurar o compute para encerrar automaticamente após um período específico de inatividade. Quando o número de compute encerrados exceder 150, o compute mais antigo será excluído.

A menos que o site compute seja fixado ou reiniciado, ele será automática e permanentemente excluído 30 dias após o encerramento.

O site compute encerrado aparece na lista compute com um círculo cinza à esquerda do nome compute.

Observação

Quando o senhor executa um Job em um novo Job compute (o que geralmente é recomendado), o compute é encerrado e fica indisponível para reinicialização quando o Job for concluído. Por outro lado, se o senhor programar um Job para execução em um compute multifuncional existente que tenha sido encerrado, esse compute será iniciado automaticamente.

Encerramento manual

O senhor pode encerrar manualmente um compute na lista compute (clicando no quadrado na linha do compute) ou na página de detalhes compute (clicando em Terminate).

Encerramento automático

O senhor também pode definir a terminação automática para um compute. Durante a criação do compute, o senhor pode especificar um período de inatividade em minutos após o qual deseja que o compute seja encerrado.

Se a diferença entre a hora atual e a última execução de comando no site compute for maior do que o período de inatividade especificado, o Databricks encerrará automaticamente esse site compute.

Um site compute é considerado inativo quando todos os comandos no site compute, incluindo Spark Job, transmissão estruturada e chamadas JDBC, tiverem terminado de ser executados. Isso não inclui a execução do comando por meio do SSH em compute e da execução do comando bash.

Aviso

  • compute não relatam atividades resultantes do uso da DStreams. Isso significa que um site de encerramento automático compute pode ser encerrado enquanto estiver executando DStreams. Desative a terminação automática para compute executando DStreams ou considere o uso de transmissão estruturada.

  • parado compute continuam a acumular cobranças de instância de DBU e nuvens durante o período de inatividade antes da rescisão.

Configurar rescisão automática

O senhor pode configurar o encerramento automático na nova UI compute. Certifique-se de que a caixa esteja marcada e digite o número de minutos na configuração Terminate after ___ of minutes of inactivity (Encerrar após ___ minutos de inatividade ).

Você pode desativar o encerramento automático desmarcando a caixa de seleção Rescisão automática ou especificando um período de inatividade de 0.

Observação

A terminação automática tem melhor suporte nas versões mais recentes do Spark. As versões mais antigas do Spark têm limitações conhecidas que podem resultar em relatórios imprecisos da atividade do compute. Por exemplo, o site compute que executa JDBC, R ou transmissão comando pode informar um tempo de atividade obsoleto que leva ao encerramento prematuro do site compute. Atualize para a versão mais recente do Spark para se beneficiar das correções de bugs e melhorias no encerramento automático.

Rescisão inesperada

Às vezes, um site compute é encerrado inesperadamente, não como resultado de um encerramento manual ou de um encerramento automático configurado.

Para obter uma lista de motivos de encerramento e passos de correção, consulte a Base de conhecimento.

Excluir uma computação

A exclusão de um compute encerra o compute e remove sua configuração. Para excluir um compute, selecione Delete no menu compute's Menu Kebab.

Aviso

Não é possível desfazer esta ação.

Para excluir um pin compute, ele deve primeiro ser retirado do pin por um administrador.

O senhor também pode invocar a API de Clusters endpoint para excluir um compute programaticamente.

Reiniciar uma computação

O senhor pode reiniciar um compute previamente encerrado na lista compute, na página de detalhes compute ou em um Notebook. O senhor também pode invocar a API de Clusters endpoint para começar a compute programaticamente.

O Databricks identifica um compute usando seu ID de cluster exclusivo. Quando o senhor começa um compute encerrado, a Databricks recria o compute com o mesmo ID, instala automaticamente todas as bibliotecas e anexa novamente o Notebook.

Reiniciar um computador para atualizá-lo com as imagens mais recentes

Quando o senhor reinicia um compute, ele obtém as imagens mais recentes para os contêineres de recurso compute e os hosts de VM. É importante programar reinicializações regulares para compute de longa duração, como as usadas para processar dados de transmissão.

É sua responsabilidade reiniciar todos os recursos de computação regularmente para manter a imagem atualizada com a versão mais recente da imagem.

Importante

Se o senhor ativar o perfil de segurançacompliance para o account ou o workspace, o compute de longa duração será reiniciado automaticamente conforme necessário durante uma janela de manutenção programada. Isso reduz o risco de um reinício automático interromper um agendamento Job. O senhor também pode forçar a reinicialização durante a janela de manutenção. Consulte Atualização automática do cluster.

Notebook exemplo: Localizar computação de longa duração

Se o senhor for administrador de um workspace, poderá executar um script que determina há quanto tempo cada um dos seus compute está em execução e, opcionalmente, reiniciá-los se forem mais antigos do que um número especificado de dias. A Databricks fornece esse script como um Notebook.

Observação

Se o seu workspace fizer parte da visualização pública da atualização automática do compute , talvez o senhor não precise desse script. compute é reiniciado automaticamente, se necessário, durante as janelas de manutenção programadas.

As primeiras linhas do script definem os parâmetros de configuração:

  • min_age_output: O número máximo de dias que um compute pode executar. default é 1.

  • perform_restart: Se True, o script reinicia qualquer compute com idade maior que o número de dias especificado por min_age_output. O default é False, que identifica o compute de longa duração, mas não o reinicia.

  • secret_configuration: substitua REPLACE_WITH_SCOPE e REPLACE_WITH_KEY por um escopo secreto e nome de chave. Para obter mais detalhes sobre como configurar os segredos, consulte o notebook.

Aviso

Se o senhor definir perform_restart como True, o script reiniciará automaticamente o compute elegível, o que pode causar falha no trabalho ativo e Reset abrir o Notebook. Para reduzir o risco de interromper o trabalho essencial para os negócios do seu workspace, planeje uma janela de manutenção programada e certifique-se de notificar os usuários do workspace.

Identificar e, opcionalmente, reiniciar a computação de longa duração

Abra o bloco de anotações em outra guia

Computar o início automático para consultas Job e JDBC/ODBC

Quando um Job atribuído a um compute encerrado é programado para execução ou o senhor se conecta a um compute encerrado a partir de uma interface JDBC/ODBC, o compute é reiniciado automaticamente. Consulte Criar um Job e conectar-se ao JDBC.

compute O autostart permite que o senhor configure o compute para encerrar automaticamente, sem necessidade de intervenção manual para reiniciar o compute para o trabalho agendado. Além disso, o senhor pode programar a inicialização do compute agendando um Job para execução em um compute encerrado.

Antes que o site compute seja reiniciado automaticamente, compute e Job as permissões de controle de acesso sejam verificadas.

Observação

Se o seu compute foi criado na plataforma Databricks versão 2.70 ou anterior, não há início automático: O trabalho programado para ser executado no site compute falhará.

Exibir informações de computação na UI do Apache Spark

O senhor pode view obter informações detalhadas sobre o Spark Job selecionando o Spark UI tab na página de detalhes compute.

Se o senhor reiniciar um compute encerrado, o Spark UI exibirá as informações do compute reiniciado e não as informações históricas do compute encerrado.

Exibir registros de computação

O Databricks oferece três tipos de registro de atividades relacionadas ao compute:

  • compute evento logs, que captura eventos do ciclo de vida compute como criação, encerramento e edições de configuração.

  • Driver Apache Spark e log de trabalho, que você pode usar para depuração.

  • compute logs do script de inicialização, que são valiosos para o script de inicialização da depuração.

Esta seção aborda os logs de eventos compute e os logs de driver e worker. Para obter detalhes sobre os registros de script de inicialização, consulte init script logging.

Computar logs de eventos

Os logs de eventos do compute exibem eventos importantes do ciclo de vida do compute que são acionados manualmente por ações do usuário ou automaticamente pelo Databricks. Esses eventos afetam as operações de um compute como um todo e o trabalho em execução no compute.

Para obter os tipos de eventos compatíveis, consulte a estrutura de dados da API Clusters.

Os eventos são armazenados por 60 dias, o que é comparável a outros tempos de retenção de dados no Databricks.

Visualizar os registros de eventos do site compute

Para view os registros de eventos do compute, selecione Event logs tab nas páginas de detalhes compute.

Para obter mais informações sobre um evento, clique em sua linha nos logs e, em seguida, clique na JSON tab para obter detalhes.

Computar os registros do driver e do trabalhador

As declarações de impressão direta e de registros do Notebook, do Job e da biblioteca vão para o driver do Spark logs. O senhor pode acessar esses arquivos de registro no Driver logs tab na página de detalhes compute. Clique no nome de um arquivo de registros para fazer o download.

Esses logs têm três saídas:

  • Saída padrão

  • Erro padrão

  • Registros Log4j

Para view os registros de trabalho do Spark, use a IU do Spark tab. O senhor também pode configurar um local de entrega de registros para o site compute. Os registros worker e compute são entregues no local que o senhor especificar.

Monitore o desempenho

Para ajudar o senhor a monitorar o desempenho da Databricks compute, a Databricks fornece acesso a métricas na página de detalhes compute. Para o Databricks Runtime 12.2 e abaixo, o Databricks fornece acesso às métricas do Ganglia. Para o Databricks Runtime 13.0 e acima, as métricas do compute são fornecidas pelo Databricks.

O senhor também pode instalar agentes do Datadog em nós compute para enviar métricas do Datadog para o seu Datadog account.

Computar métricas

compute métricas é a ferramenta de monitoramento default para Databricks Runtime 13.0 e acima. Para acessar a interface de usuário compute métricas, navegue até Metrics tab na página de detalhes compute.

O senhor pode view métricas históricas selecionando um intervalo de tempo usando o filtro de seleção de data. As métricas são coletadas a cada minuto. O senhor também pode obter as métricas mais recentes clicando no botão refresh botão. Para obter mais informações, consulte view compute metrics.

Métricas Ganglia

Observação

As métricas Ganglia estão disponíveis apenas para o Databricks Runtime 12.2 e abaixo.

Para acessar a Ganglia UI, navegue até as métricas tab na página de detalhes compute. As métricas da CPU estão disponíveis na UI do Ganglia para todos os tempos de execução do Databricks. As métricas de GPU estão disponíveis para os habilitados para GPU compute.

Para consultar as métricas ao vivo, clique no link Ganglia UI.

Para view métricas históricas, clique em um arquivo Snapshot . O Snapshot contém métricas agregadas da hora anterior ao horário selecionado.

Observação

O Ganglia não é compatível com os contêineres do Docker. Se o senhor usar um contêiner do Docker com seu compute, as métricas do Ganglia não estarão disponíveis.

Configurar a coleta de métricas do Ganglia

Pelo site default, a Databricks coleta métricas do Ganglia a cada 15 minutos. Para configurar o período de coleta, defina a variável de ambiente DATABRICKS_GANGLIA_SNAPSHOT_PERIOD_MINUTES usando um init script ou no campo spark_env_vars na API Create cluster.

Exemplo Notebook : métricas Datadog

Medições do Datadog

O senhor pode instalar agentes do Datadog em nós compute para enviar métricas do Datadog para o seu Datadog account. O seguinte Notebook demonstra como instalar um agente Datadog em um compute usando um compute-scoped init script.

Para instalar o agente Datadog em todos os sites compute, gerencie o compute-scoped init script usando uma política compute.

Instale init script do agente Datadog Notebook

Abra o bloco de anotações em outra guia

Desativar instâncias spot

Como as instâncias spot podem reduzir os custos, a criação de compute usando instâncias spot em vez de instâncias on-demand é uma maneira comum de executar o Job. No entanto, as instâncias pontuais podem ser evitadas por mecanismos de programação do provedor de nuvens. A preempção de instâncias spot pode causar problemas com o trabalho que está sendo executado, inclusive:

  • Falhas na busca aleatória

  • Perda de dados aleatória

  • Perda de dados RDD

  • Falhas Job

Você pode ativar o descomissionamento para ajudar a resolver esses problemas. O descomissionamento aproveita a notificação que o provedor clouds geralmente envia antes que uma instância spot seja descomissionada. Quando uma instância spot contendo um executor recebe uma notificação de preempção, o processo de descomissionamento tentará migrar dados aleatórios e RDD para executores íntegros. A duração antes da preempção final é normalmente de 30 segundos a 2 minutos, dependendo do provedor clouds .

A Databricks recomenda ativar a migração de dados quando o descomissionamento também estiver ativado. Geralmente, a possibilidade de erros diminui à medida que mais dados são migrados, incluindo falhas de busca aleatória, perda de dados aleatórios e perda de dados RDD. A migração de dados também pode levar a menos recálculo e economia de custos.

Observação

A desativação é o melhor esforço e não garante que todos os dados possam ser migrados antes da preempção final. O descomissionamento não pode garantir falhas de busca aleatória quando a tarefa em execução estiver buscando dados aleatórios do executor.

Com o descomissionamento habilitado, as falhas de tarefa causadas pela preempção da instância spot não são adicionadas ao número total de tentativas fracassadas. As falhas de tarefas causadas por preempção não são contadas como tentativas malsucedidas porque a causa da falha é externa à tarefa e não resultará em falha Job .

Habilitar descomissionamento

Para ativar o descomissionamento em um compute, insira as seguintes propriedades no Spark tab em Advanced Options (Opções avançadas ) na UI de configuração do compute. Para obter informações sobre essas propriedades, consulte Configuração do Spark.

  • Para habilitar o descomissionamento de aplicativos, insira esta propriedade no campo Spark config :

    spark.decommission.enabled true
    
  • Para habilitar a migração aleatória de dados durante o descomissionamento, insira esta propriedade no campo Spark config :

    spark.storage.decommission.enabled true
    spark.storage.decommission.shuffleBlocks.enabled true
    
  • Para habilitar a migração de dados do cache RDD durante o descomissionamento, insira esta propriedade no campo Spark config :

    spark.storage.decommission.enabled true
    spark.storage.decommission.rddBlocks.enabled true
    

    Observação

    Quando a replicação RDD StorageLevel é definida como mais de 1, a Databricks não recomenda permitir a migração de dados RDD, uma vez que as réplicas garantem que os RDDs não perderão dados.

  • Para habilitar a desativação do worker, insira esta propriedade no campo variável de ambiente :

    SPARK_WORKER_OPTS="-Dspark.decommission.enabled=true"
    

Visualize o status de desativação e o motivo da perda na IU

Para acessar o status de desativação de um workerna UI, navegue até a UI do Spark compute - Master tab.

Quando o descomissionamento for concluído, o senhor poderá view o motivo da perda do executorna Spark UI > Executors tab na página de detalhes compute.