Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Os recursos de computação clássicos no Azure Databricks usam tipos de nó flexíveis, o que permite que o recurso de computação volte a tipos de instância alternativos e compatíveis quando o tipo de instância especificado não estiver disponível.
Esse comportamento melhora a confiabilidade de inicialização da computação reduzindo falhas de capacidade (erros de estoque) durante as inicializações de computação. Para instâncias spot com fallback, os tipos de nó flexíveis podem tentar adquirir instâncias várias vezes em diferentes tipos de instância antes de recorrer a instâncias sob demanda. Isso resulta em uma porcentagem maior de instâncias executadas como spot em vez de sob demanda, reduzindo seus custos totais de computação.
Como funcionam os tipos de nó flexíveis
Quando você inicia um recurso de computação, o provedor de nuvem às vezes fica sem capacidade para o tipo de instância especificado. Isso resulta em um erro de saída de estoque:
CLOUD_PROVIDER_RESOURCE_STOCKOUT
Embora esses erros sejam mais comuns para instâncias spot, eles também podem ocorrer para instâncias sob demanda.
Com os tipos de nó flexíveis ativados, o Azure Databricks gera ou usa automaticamente sua lista de fallback especificada de tipos de instância compatíveis. Se o seu tipo de instância preferido não estiver disponível, o Azure Databricks tentará adquirir esses tipos de instância de backup em vez de falhar imediatamente.
Habilitar tipos de nós flexíveis em seu ambiente de trabalho
Administradores do espaço de trabalho podem ativar tipos de nós flexíveis nas configurações de administração do espaço de trabalho. Quando habilitados, todos os novos recursos de computação clássicos retornam automaticamente para tipos de nó alternativos. Os recursos de computação existentes para todos os fins não são afetados. Veja como as cargas de trabalho existentes são afetadas?.
Para habilitar tipos de nó flexíveis em um espaço de trabalho:
- Como administrador do workspace, acesse a página de configurações.
- Clique na guia Computação .
- Alterne a configuração Habilitar tipos de nó flexíveis automáticos:
- Habilitado: todos os novos recursos de computação clássicos usam automaticamente tipos de nó flexíveis, a menos que sejam desabilitados explicitamente.
-
Desabilitado: os recursos de computação clássicos só usam tipos de nó flexíveis se você configurar
node_type_flexibilityexplicitamente na configuração de recursos de computação.
Se essa configuração estiver desabilitada, os usuários ainda poderão configurar tipos de nó flexíveis para recursos de computação individuais configurando explicitamente os campos worker_node_type_flexibility ou driver_node_type_flexibility com listas de fallback personalizadas. Para impedir que os usuários configurem esses campos, os administradores do workspace podem usar políticas de computação. Consulte Exemplos de política de tipo de nó flexível.
Especificar uma lista de fallback personalizada
Quando os tipos de nó flexíveis estão habilitados em seu workspace, o Azure Databricks gera automaticamente uma lista de fallback de tipos de instância compatíveis para novos recursos de computação.
Se você não quiser usar a lista de fallback gerada automaticamente, poderá especificar sua própria lista de fallback. Além disso, se os tipos de nó flexíveis estiverem desabilitados em seu workspace, você ainda poderá especificar uma lista de fallback personalizada para seu recurso de computação. Somente determinados tipos de instância são compatíveis. Consulte Requisitos de tipo de instância de fallback. Para obter uma referência de tipos de instância compatíveis, consulte a referência de compatibilidade de tipo de nó flexível.
As listas de fallback personalizadas só têm suporte ao configurar a computação usando a API. Consulte a documentação de referência da API de Clusters .
Por exemplo, a configuração a seguir especifica para qual tipo de instância o recurso de computação retornará, se necessário:
"worker_node_type_flexibility": {
"alternate_node_type_ids": [
"Standard_L8s_v2"
]
},
"driver_node_type_flexibility": {
"alternate_node_type_ids": [
"Standard_L8s_v2"
]
},
Requisitos para tipo de instância fallback
Os tipos de instância de fallback devem ser compatíveis com o tipo de instância preferencial da computação. Sua lista de tipos de instância de fallback deve atender aos seguintes requisitos:
- Mesmo número de vCPUs e memória que o tipo de instância preferencial (instâncias de reserva devem ter entre 100% e 110% da memória do tipo de instância preferencial)
- Mesmo número de discos locais e tamanho de disco que o tipo de instância preferencial
- Mesma arquitetura de CPU que o tipo de instância preferencial (todos ARM ou todos x86)
- Mesma imagem de SO e suporte ao Photon que o tipo de instância preferencial
- Não há tipos de instância de GPU (não há suporte para GPUs)
- Máximo de 5 tipos de instância de substituição exclusivos
- Todos os tipos de instância devem ter suporte consistente ao armazenamento: ou todos permitem armazenamento PREMIUM_LRS ou nenhum deles permite.
Usar tipos de nó flexíveis com pools
Você também pode personalizar uma lista de fallback para pools. Na API de Pools, defina o campo node_type_flexibility para especificar os tipos de instância de substituição. Por exemplo:
"node_type_flexibility": {
"alternate_node_type_ids": ["Standard_L8s_v2"]
}
Os pools não suportam o uso de tipos de instância flexíveis para manter a contagem mínima de instâncias ociosas. O pool só pode iniciar VMs usando os tipos de instância de fallback quando uma inicialização de computação do pool for tentada. O pré-aquecimento da contagem minIdle utiliza apenas o tipo de instância preferencial.
Visualizar os tipos de instância adquiridos
Ao usar tipos de nó flexíveis, o recurso de computação pode consistir em uma combinação de diferentes tipos de instância. Todos os tipos de instância de fallback são compatíveis com seu tipo preferencial, mantendo a mesma contagem de vCPU, memória, layout de disco, arquitetura de CPU e imagem do sistema operacional para garantir que sua carga de trabalho seja executada corretamente.
Você pode exibir quais tipos de instância foram adquiridos para o recurso de computação:
- Na página de detalhes de computação, clique nos três pontos ao lado do botão Encerrar e selecione Exibir JSON.
- Examine o
node_type_idcampo de cada executor para ver quais tipos de instância estão em execução.
Você também pode usar a API obter informações de clusters para recuperar essas informações programaticamente. Além disso, os usuários com permissão para acessar tabelas do sistema podem consultar a node_timelines tabela. Consulte Esquema da tabela de linha do tempo do nó.
Desativar tipos de nó flexíveis em um recurso de computação
Observação
O Databricks recomenda manter os tipos de nó flexíveis habilitados, a menos que você tenha requisitos estritos para um tipo de instância específico.
Se preferir que a inicialização da computação falhe em vez de recorrer a um tipo de instância alternativo, você pode desativar o comportamento de nó flexível no nível do recurso de computação individual. Isso só tem suporte ao usar a API de Clusters. Para desabilitar tipos de nó flexíveis, defina os campos de tipo de nó flexíveis como vazios na configuração de computação. Por exemplo:
"worker_node_type_flexibility": {
"alternate_node_type_ids": []
},
"driver_node_type_flexibility": {
"alternate_node_type_ids": []
}
Perguntas frequentes
Como as cargas de trabalho existentes são afetadas?
Os recursos de computação existentes para todos os fins não são alterados. Para usar o fallback automático, crie um novo recurso de computação para todos os fins depois de habilitar a configuração ou atualize a especificação da API de recursos de computação com uma lista de fallback personalizada.
Para trabalhos que utilizam computação de trabalho, cada execução cria um novo recurso de computação; portanto, as execuções subsequentes de trabalhos existentes usam automaticamente o fallback flexível.
Isso funciona com pools de instâncias?
Sim. Tipos de nós flexíveis são aplicáveis às configurações do pool de instâncias. Alguns pontos a serem observados:
-
Tempo ocioso mínimo permanece consistente: as instâncias ociosas mínimas do pool (
minIdle) são mantidas usando seu tipo de nó primário. Quaisquer novas VMs iniciadas por meio de uma solicitação de inicialização de cluster podem ser atendidas usando tipos de nó de fallback compatíveis quando o tipo primário estiver limitado. - Edições do pool: você não pode editar um pool de instâncias depois que ele é criado. Para alterar as configurações de fallback personalizadas, você precisa criar um novo pool de instâncias.
-
Visibilidade da API: a resposta
/api/2.0/instance-pools/getnão mostra a flexibilidade do tipo de nó, a menos que você tenha configurado explicitamente uma lista de fallback personalizada no pool. Para ver a configuração de fallback do pool de instâncias, você pode criar um cluster de exemplo e exibir a/api/2.1/clusters/getresposta.
Como funciona a cobrança?
A cobrança é feita com base nas taxas DBU padrão para os tipos de instância realmente adquiridos. Todos os descontos no nível de instância que você tem com seu provedor de nuvem se aplicam automaticamente aos tipos de instância correspondentes usados pelo recurso de computação.
Como isso interage com as cotas de tipo de nó no meu workspace?
Se uma inicialização de computação falhar porque o seu tipo de nó primário atingiu um limite de "cota excedida", os tipos de nó flexíveis ainda podem melhorar a confiabilidade da inicialização, recorrendo automaticamente a uma alternativa compatível. Dito isso, para falhas relacionadas a cotas, a Databricks recomenda tratar o fallback como uma rede de segurança, e não como a solução principal. Você pode solicitar um aumento de cota do seu provedor de nuvem para que o Azure Databricks possa adquirir consistentemente seus tipos de instância preferenciais antes de recorrer a alternativas ou usar computação sem servidor.
Posso habilitar tipos de nó flexíveis apenas para um subconjunto das minhas cargas de trabalho?
O fallback de tipo de nó gerado automaticamente só pode ser configurado no nível do workspace. No entanto, você tem duas opções para controlar o comportamento de fallback de uma carga de trabalho específica:
-
(Recomendado) Habilite os tipos de nó flexíveis para o workspace e, em seguida, desative um cluster específico definindo
alternate_node_type_idscomo uma lista vazia[]na especificação desse cluster. - Desative os tipos de nó flexíveis para todo o workspace e, em seguida, opte por uma especificação de cluster específica, fornecendo uma lista de fallback personalizada em
alternate_node_type_idsque satisfaça os requisitos de compatibilidade.