Gerenciar clusters

Este artigo descreve como gerenciar os clusters do Azure Databricks, incluindo exibição, edição, início, encerramento, exclusão, controle de acesso, monitoramento de desempenho e logs.

Exibir clusters

Para exibir os clusters em seu workspace, clique no compute iconComputação na barra lateral.

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

Fixar um cluster

30 dias depois que um cluster é terminado, ele é excluído permanentemente. Para manter uma configuração de cluster para todos os fins após um cluster ter sido encerrado por mais de 30 dias, um administrador pode fixar o cluster. Até 100 clusters podem ser fixados.

Os administradores podem fixar um cluster na lista de clusters ou na página de detalhes do cluster clicando no ícone de fixação.

Você também pode invocar o ponto de extremidade da API de Clusters para fixar um cluster programaticamente.

Exibir uma configuração do cluster como um arquivo JSON

Às vezes, pode ser útil exibir a configuração do cluster como JSON. Isso é especialmente útil quando você quiser criar clusters semelhantes usando a API de Clusters. Ao exibir um cluster existente, acesse a guia Configuração, clique em JSON no canto superior direito da guia, copie o JSON e cole-o em sua chamada à API. O modo de exibição JSON é somente leitura.

Editar um cluster

Você pode editar uma configuração do cluster na interface do usuário de detalhes do cluster. Você também pode invocar o ponto de extremidade API de Clusters para editar o cluster programaticamente.

Observação

  • Notebooks e trabalhos anexados ao cluster permanecem anexados após a edição.
  • As bibliotecas instaladas no cluster permanecem instaladas após a edição.
  • Se você editar qualquer atributo de um cluster em execução (exceto o tamanho e as permissões do cluster), deverá reiniciá-lo. Isso pode interromper os usuários que estão usando o cluster no momento.
  • Você só pode editar os clusters em execução ou encerrados. No entanto, você pode atualizar as permissões para os clusters que não estão nesses estados, na página de detalhes do cluster.

Clonar um cluster

Para clonar um cluster existente, selecione Clonar no Kebab menu do cluster (também conhecido como menu de três pontos).

Depois de selecionar clonar, a interface do usuário de criação do cluster será aberta previamente preenchida com a configuração do cluster. Os seguintes atributos não estão incluídos no clone:

  • Permissões do cluster
  • Bibliotecas instaladas
  • Notebooks anexados

Controlar o acesso a clusters

O controle de acesso ao cluster na página de configurações do administrador permite que os administradores de workspace forneçam acesso de cluster detalhado a outros usuários. Há dois tipos de controle de acesso de cluster:

  • Permissão de criação de cluster: os administradores de workspace podem escolher quais usuários têm permissão para criar clusters.
  • Permissões em nível de cluster: um usuário que tem a permissão Pode gerenciar para um cluster pode configurar se outros usuários podem anexar, reiniciar, redimensionar e gerenciar esse cluster.

Para editar as permissões de um cluster, selecione Editar permissões no kebab menu Kebab menu desse cluster.

Para obter mais informações sobre controle de acesso ao cluster e permissões em nível de cluster, confira Controle de acesso ao cluster.

Encerrar um cluster

Para salvar recursos de cluster, você pode encerrar um cluster. A configuração do cluster encerrado é armazenada para que possa ser reutilizada (ou, no caso de trabalhos, iniciada automaticamente) posteriormente. Você pode encerrar manualmente um cluster ou configurar o cluster para ser encerrado automaticamente após um período específico de inatividade. Quando o número de clusters encerrados excede 150, os clusters mais antigos são excluídos.

A menos que um cluster seja fixado ou reiniciado, ele é excluído de forma automática e permanentemente 30 dias após o encerramento.

Os clusters encerrados aparecem na lista de clusters com um círculo cinza à esquerda do nome do cluster.

Observação

Quando você executa um trabalho em um Novo Cluster de Trabalho (que geralmente é recomendado), o cluster é encerrado e fica indisponível para reiniciar quando o trabalho é concluído. Por outro lado, se você agendar um trabalho para ser executado em um Cluster de Todas as Finalidades Existente que foi encerrado, esse cluster será iniciado de forma automática.

Importante

Se você estiver usando um workspace Premium de avaliação, todos os clusters em execução serão encerrados:

  • Quando você atualiza um workspace para Premium completo.
  • Se o workspace não for atualizado, e a avaliação expirar.

Encerramento manual

Você pode encerrar manualmente um cluster na lista de clusters (clicando no quadrado na linha do cluster) ou na página de detalhes do cluster (clicando em Encerrar).

Encerramento automático

Você também pode definir o encerramento automático para um cluster. Durante a criação do cluster, você pode especificar um período de inatividade em minutos após o qual você deseja que o cluster seja encerrado.

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

Um cluster é considerado inativo quando todos os comandos no cluster, incluindo trabalhos do Spark, Streaming Estruturado e chamadas JDBC, concluíram a execução.

Aviso

  • Os clusters não relatam atividades resultantes do uso de DStreams. Isso significa que um cluster com terminação automática pode ser encerrado enquanto estiver executando o DStreams. Desative o encerramento automático de clusters que executam o DStreams ou considere o uso de streaming estruturado.
  • O recurso de encerramento automático monitora apenas os trabalhos do Spark, não os processos locais definidos pelo usuário. Portanto, se todos os trabalhos do Spark forem concluídos, um cluster poderá ser encerrado, mesmo que os processos locais estejam em execução.
  • Os clusters ociosos continuam acumulando encargos de instância de nuvem e DBU durante o período de inatividade antes do encerramento.

Configurar encerramento automático

Você pode configurar o encerramento automático na interface de usuário de criação do cluster. Certifique-se de que a caixa esteja marcada e insira o número de minutos na configuração Terminar após ___ minutos de inatividade.

Você pode recusar o encerramento automático desmarcando a caixa de seleção término automático ou especificando um período de inatividade de 0.

Observação

O encerramento automático tem o melhor suporte nas versões mais recentes do Spark. Versões mais antigas do Spark têm limitações conhecidas que podem resultar em um relatório impreciso da atividade do cluster. Por exemplo, clusters que executam comandos JDBC, R ou streaming podem relatar um tempo de atividade obsoleto que leva à terminação prematura do cluster. Atualize para a versão mais recente do Spark para se beneficiar de correções de bugs e melhorias no encerramento automático.

Encerramento inesperado

Às vezes, um cluster é encerrado inesperadamente, não como resultado de uma terminação manual ou de uma terminação automática configurada.

Para obter uma lista de motivos de terminação e etapas de correção, consulte a Base de dados de conhecimento.

Excluir um cluster

A exclusão de um cluster encerra-o e remove a configuração. Para excluir um grupo, selecione Excluir no menu Kebab menu do grupo.

Aviso

Você não pode desfazer essa ação.

Para excluir um cluster fixado, primeiro ele deve ser desafixado por um administrador.

Você também pode invocar o ponto de extremidade da API de Clusters para excluir um cluster programaticamente.

Reiniciar um cluster

Você pode reiniciar um cluster encerrado anteriormente na lista de clusters, na página de detalhes do cluster ou em um notebook. Você também pode invocar o ponto de extremidade API de Clusters para iniciar um cluster programaticamente.

O Azure Databricks identifica um cluster usando sua ID de cluster exclusiva. Quando você inicia um cluster encerrado, o Databricks recria o cluster com a mesma ID, instala automaticamente todas as bibliotecas e reanexa os notebooks.

Observação

Se você estiver usando um workspace de Avaliação, e a avaliação tiver expirado, você não poderá iniciar um cluster.

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

Quando você reinicia um cluster, ele obtém as imagens mais recentes para os contêineres de recursos de computação e os hosts de VM. É importante agendar reinicializações regulares para clusters de longa duração, como os usados para processar os dados de streaming.

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

Importante

Se você habilitar o perfil de segurança de conformidade para sua conta ou seu workspace, os clusters de longa execução serão reiniciados automaticamente após 25 dias. O Databricks recomenda que os administradores de workspace reiniciem os clusters manualmente durante uma janela de manutenção agendada. Isso reduz o risco de uma reinicialização automática interromper um trabalho agendado.

Exemplo de notebook: localizar clusters de execução longa

Se você for o administrador do espaço de trabalho, poderá executar um script que determina há quanto tempo cada um dos seus clusters está em execução e, opcionalmente, reiniciá-los se forem mais antigos do que um número especificado de dias. O Azure Databricks fornece esse script como um notebook.

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

  • min_age_output: o número máximo de dias em que um cluster pode ser executado. O padrão é UTF-1.
  • perform_restart: se True, o script reiniciará os clusters com idade maior que o número de dias especificado por min_age_output. O padrão é False, que identifica os clusters de longa duração, mas não os reinicia.
  • secret_configuration: substitua REPLACE_WITH_SCOPE e REPLACE_WITH_KEY por um escopo secreto e um nome de chave. Para obter mais detalhes sobre como configurar os segredos, consulte o notebook.

Aviso

Se você definir perform_restart como True, o script reiniciará automaticamente os clusters qualificados, o que pode fazer com que os trabalhos ativos falhem e redefinam notebooks abertos. Para reduzir o risco de interromper os trabalhos essenciais para os negócios do seu espaço de trabalho, planeje uma janela de manutenção programada e certifique-se de notificar os usuários do espaço de trabalho.

Identificar e, opcionalmente, reiniciar o notebook de clusters de execução prolongada

Obter notebook

Autoinicialização de cluster para trabalhos e consultas JDBC/ODBC

Quando um trabalho atribuído a um cluster finalizado é agendado para ser executado ou você se conecta a um cluster finalizado a partir de uma interface JDBC/ODBC, o cluster é reiniciado automaticamente. Confira Criar um trabalho e conectar JDBC.

A inicialização automática do cluster permite que você configure os clusters para serem encerrados automaticamente sem a necessidade de intervenção manual para reiniciar os clusters para trabalhos agendados. Além disso, você pode agendar a inicialização do cluster ao agendar um trabalho para ser executado em um cluster encerrado.

Antes que um cluster seja reiniciado automaticamente, as permissões de controle de acesso de cluster e trabalho são verificadas.

Observação

Se o cluster tiver sido criado na Azure Databricks versão 2.70 ou anterior da plataforma, não haverá nenhum início automático: os trabalhos agendados para executar em clusters encerrados falharão.

Exibir informações do cluster na interface do usuário do Apache Spark

Exiba informações detalhadas sobre os trabalhos do Spark selecionando a guia Interface do usuário do Spark na página de detalhes do cluster.

Se você reiniciar um cluster encerrado, a interface do usuário do Spark exibirá informações para o cluster reiniciado, não as informações históricas do cluster encerrado.

Exibir logs de cluster

O Azure Databricks fornece três tipos de log de atividade relacionada ao cluster:

  • Logs de eventos de cluster, que capturam eventos de ciclo de vida do cluster, como criação, encerramento e edições de configuração.
  • Os logs do driver e do trabalho do Apache Spark podem ser utilizados para fins de depuração.
  • Os logs do script de inicialização do cluster são valiosos para depurar scripts de inicialização.

Esta seção aborda os logs de eventos do cluster e os logs de trabalho e driver. Para obter detalhes sobre os logs de script de inicialização, consulte Registro em log de scripts de inicialização.

Logs de eventos do cluster

O log de eventos do cluster exibe os eventos importantes do ciclo de vida do cluster, que são acionados manualmente pelas ações do usuário ou automaticamente pelo Azure Databricks. Esses eventos afetam a operação de um cluster como um todo e os trabalhos em execução no cluster.

Para os tipos de eventos com suporte, confira a estrutura de dados da API de Clusters.

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

Exibir um log de eventos do cluster

Para exibir o registro de eventos do cluster, selecione a guia Log de eventos nas páginas de detalhes do cluster.

Para obter mais informações sobre um evento, clique na sua linha no registro e, em seguida, clique na guia JSON para obter detalhes.

Driver do cluster e logs do trabalho

As instruções de impressão e log diretas de seus notebooks, trabalhos e bibliotecas vão para os logs de driver do Spark. Acesse esses arquivos de log na guia Logs do driver na página de detalhes do cluster. Para baixar um arquivo de log, clique no nome dele.

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

  • Saída padrão
  • Erro padrão
  • Logs Log4j

Para exibir os logs do trabalho do Spark, use a guia Interface do usuário do Spark. Também é possível configurar um local de entrega de logs para o cluster. Os logs de trabalho e de cluster são entregues no local especificado.

Monitorar o desempenho

Para ajudá-lo a monitorar o desempenho dos clusters do Azure Databricks, o Azure Databricks fornece acesso às métricas da página de detalhes do cluster. Para o Databricks Runtime 12.2 e abaixo, o Azure Databricks fornece acesso às métricas Ganglia. Para o Databricks Runtime 13.0 e superior, as métricas do cluster são fornecidas pelo Azure Databricks.

Além disso, você pode configurar um cluster do Azure Databricks para enviar métricas para um workspace do Log Analytics no Azure Monitor, a plataforma de monitoramento para o Azure.

Você também pode instalar agentes Datadog em nós de cluster para enviar métricas do Datadog para sua conta Datadog.

Métricas do cluster

As métricas do cluster são a ferramenta de monitoramento padrão para o Databricks Runtime 13.0 e versões posteriores. Para acessar a interface do usuário de métricas do cluster, navegue até a guia Métricas na página de detalhes do cluster.

Você pode exibir métricas históricas selecionando um intervalo de tempo usando o filtro seletor de data. As métricas são coletadas a cada minuto. Você também pode obter as métricas mais recentes clicando no botão Atualizar. Para obter mais informações, confira Exibir métricas do cluster históricas e em tempo real.

Métricas do Ganglia

Observação

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

Para acessar a interface do usuário do Ganglia, navegue até a guia Métricas na página detalhes do cluster. As métricas de CPU estão disponíveis na interface do usuário do Ganglia para todos os tempos de execução do Databricks. As métricas de GPU estão disponíveis para clusters habilitados para GPU.

Para exibir métricas ao vivo, clique no link Interface do usuário do Ganglia.

Para exibir métricas históricas, clique em um arquivo de instantâneo. O instantâneo contém métricas agregadas para a hora anterior à hora selecionada.

Observação

Não há suporte para o Ganglia com contêineres do Docker. Se você usar um contêiner Docker com o seu cluster, as métricas do Ganglia não estarão disponíveis.

Configurar a coleção de métricas do Ganglia

Por padrão, o Azure 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 script de inicialização ou no campo spark_env_vars em Criar nova API de cluster.

Azure Monitor

Você pode configurar um cluster do Azure Databricks para enviar métricas para um workspace do Log Analytics no Azure Monitor, a plataforma de monitoramento para o Azure. Para obter instruções completas, consulte Monitorando o Azure Databricks.

Observação

Se você tiver implantado o workspace do Azure Databricks em sua própria rede virtual e configurado os NSG (grupos de segurança de rede) para negar todo o tráfego de saída que não é exigido pelo Azure Databricks, será necessário configurar uma regra de saída adicional para a marca de serviço "AzureMonitor".

Exemplo de notebook: métricas do Datadog

Datadog metrics

Você pode instalar agentes do Datadog em nós de cluster, para enviar métricas Datadog para sua conta do Datadog. O notebook a seguir demonstra como instalar um agente do Datadog em um cluster usando um script de init no escopo do cluster.

Para instalar o agente Datadog em todos os clusters, gerencie o script de inicialização com escopo de cluster usando uma política de cluster.

Instalar o notebook de script de init do agente do Datadog

Obter notebook

instâncias de ponto de desativação

Como as instâncias spot podem reduzir os custos, a criação de clusters usando instâncias spot em vez de instâncias sob demanda é uma maneira comum de executar trabalhos. No entanto, as instâncias spot podem ser preempções pelos mecanismos de agendamento do provedor de nuvem. A preempção de instâncias spot pode causar problemas com trabalhos em execução, incluindo:

  • Falhas de busca aleatória
  • Perda de dados aleatórios
  • Perda de dados RDD
  • Falhas de trabalho

Você pode habilitar a desativação para ajudar a resolver esses problemas. A desativação utiliza a notificação que o provedor de nuvem geralmente envia antes que uma instância spot seja desativada. Quando uma instância spot que contém um executor recebe uma notificação de preempção, o processo de desativação 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 de nuvem.

O Databricks recomenda habilitar a migração de dados quando a desativação também está habilitada. Em geral, 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 resultar em menos recomputação e economia de custos.

Observação

O descomissionamento é um dos melhores esforços e não garante que todos os dados possam ser migrados antes da preempção final. Ela não pode garantir falhas de busca aleatória ao executar tarefas que estão buscando dados aleatórios do executor.

Com a desativação habilitada, as falhas de tarefa causadas pela preempção de instância spot não são adicionadas ao número total de tentativas com falha. As falhas de tarefa causadas pela preempção não são contadas como tentativas com falha porque a causa da falha é externa à tarefa e não resultará em falha de trabalho.

Habilitar o encerramento

Para habilitar o encerramento em um cluster, insira as seguintes propriedades na guia Spark em Opções Avançadas na interface do usuário de configuração do cluster. Para obter informações sobre essas propriedades, consulte a Configuração do Spark.

  • Para habilitar o encerramento de aplicativos, insira essa propriedade no campo Configuração do Spark:

    spark.decommission.enabled true
    
  • Para habilitar a migração aleatória de dados durante o encerramento, insira essa propriedade no campo Configuração do Spark:

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

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

    Observação

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

  • Para habilitar o encerramento de trabalhos, insira essa propriedade no campo Variáveis de ambiente:

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

Exibir o status de encerramento e o motivo da perda na interface do usuário

Para acessar o status de encerramento de um trabalho na interface do usuário, navegue até a guia Interface do usuário do Cluster do Spark - Master.

Quando o encerramento for concluído, você poderá exibir o motivo da perda do executor na guia Interface do usuário do Spark > Executores na página de detalhes do cluster.