Compartir a través de


Mejora de la confiabilidad del inicio de proceso mediante tipos de nodo flexibles

Los recursos de proceso clásicos de Azure Databricks usan tipos de nodo flexibles, lo que permite que el recurso de proceso vuelva a tipos de instancias alternativos y compatibles cuando el tipo de instancia especificado no esté disponible.

Este comportamiento mejora la confiabilidad del inicio de proceso al reducir los errores de capacidad (errores de stockout) durante los inicios de proceso. En el caso de instancias de spot con vuelta, los tipos de nodo flexibles pueden intentar adquirir varias veces instancias de diferentes tipos antes de revertir a instancias bajo demanda. Esto da como resultado un porcentaje mayor de instancias que se ejecutan como puntuales en lugar de a petición, lo que reduce los costos de proceso totales.

Funcionamiento de los tipos de nodo flexibles

Al iniciar un recurso de proceso, el proveedor de nube a veces se queda sin capacidad para el tipo de instancia especificado. Esto produce un error de falta de existencias.

CLOUD_PROVIDER_RESOURCE_STOCKOUT

Aunque estos errores son más comunes para las instancias puntuales, también pueden producirse para instancias por demanda.

Con los tipos de nodos flexibles habilitados, Azure Databricks genera automáticamente o utiliza la lista de reserva que hayas especificado de tipos de instancias compatibles. Si el tipo de instancia preferido no está disponible, Azure Databricks intenta adquirir estos tipos de instancia alternativos en lugar de producir errores de inmediato.

Habilitación de tipos de nodo flexibles en el área de trabajo

Los administradores del área de trabajo pueden habilitar tipos de nodo flexibles en su configuración de administrador del área de trabajo. Cuando se habilita, todos los nuevos recursos de proceso clásicos del área de trabajo usarán tipos de nodo flexibles a menos que se deshabilite explícitamente:

  1. Como administrador del área de trabajo, vaya a la página de configuración.
  2. Haga clic en la pestaña Computación .
  3. Cambie la opción Habilitar tipos de nodo flexibles automáticamente :
    • Habilitado: todos los nuevos recursos de proceso clásicos usan automáticamente tipos de nodo flexibles a menos que se deshabilite explícitamente.
    • Deshabilitado: los recursos de proceso clásicos solo usan tipos de nodo flexibles si se configura node_type_flexibility explícitamente en la configuración de recursos de proceso.

Esta configuración para todo el área de trabajo no afecta a los recursos de proceso existentes. Cuando esté deshabilitado, los usuarios todavía pueden configurar tipos de nodo flexibles para recursos de cálculo individuales configurando explícitamente los campos worker_node_type_flexibility o driver_node_type_flexibility con listas de reserva personalizadas. Para evitar que los usuarios configuren estos campos, los administradores del área de trabajo pueden usar directivas de proceso. Consulte Ejemplos de directivas de tipo de nodo flexible.

Especificar una lista de alternativa personalizada

Cuando los tipos de nodo flexibles están habilitados en el área de trabajo, Azure Databricks genera automáticamente una lista de reserva de tipos de instancia compatibles para los nuevos recursos de proceso.

Si no desea usar la lista de reserva generada automáticamente, puede especificar su propia lista de reserva en su lugar. Además, si los tipos de nodo flexibles están deshabilitados en el área de trabajo, todavía puede especificar una lista de respaldo personalizada para el recurso de computación. Solo ciertos tipos de instancia son compatibles. Consulte Requisitos de tipo de instancia de recuperación. Para obtener una referencia de los tipos de instancia compatibles, consulte la referencia de compatibilidad de tipos de nodo flexibles.

Las listas de respaldo personalizadas solo se admiten al configurar cómputo mediante la API. Consulte la documentación de referencia de la API de clústeres .

Por ejemplo, la siguiente configuración especifica a qué tipo de instancia recurrirá el recurso de cómputo si es necesario.


  "worker_node_type_flexibility": {
    "alternate_node_type_ids": [
      "Standard_L8s_v2"
    ]
  },
  "driver_node_type_flexibility": {
    "alternate_node_type_ids": [
      "Standard_L8s_v2"
    ]
  },

Requisitos de tipo de instancia de contingencia

Los tipos de instancia de reserva deben ser compatibles con el tipo de instancia preferido del cómputo. La lista de tipos de instancia de reserva debe cumplir los siguientes requisitos:

  • El mismo recuento y memoria de vCPU que el tipo de instancia preferido (las instancias de reserva deben tener entre 100% y 110% de la memoria del tipo de instancia preferido).
  • Mismo número de discos locales y tamaño de disco que el tipo de instancia preferido
  • Misma arquitectura de CPU que el tipo de instancia preferido (todo ARM o todos los x86)
  • Misma imagen del sistema operativo y soporte para Photon que el tipo de instancia preferida
  • No se admiten tipos de instancia de GPU (las GPU no son compatibles)
  • Máximo de 5 tipos de instancia de respaldo únicos
  • Todos los tipos de instancia deben tener una compatibilidad coherente con el soporte de almacenamiento: todos deben admitir almacenamiento PREMIUM_LRS o ninguno.

Uso de tipos de nodo flexibles con grupos

También puede personalizar una lista de reserva para los pools. En la API de pools, establezca node_type_flexibility campo para especificar los tipos de instancia de respaldo. Por ejemplo:

"node_type_flexibility": {
    "alternate_node_type_ids": ["Standard_L8s_v2"]
  }

Los pools no admiten el uso de tipos de instancias flexibles para mantener el mínimo de instancias inactivas. El grupo solo puede desplegar máquinas virtuales usando los tipos de instancia de contingencia cuando se intenta lanzar computación desde el grupo. El precalentamiento del recuento minIdle emplea solo el tipo de instancia preferido.

Visualización de los tipos de instancia adquiridos

Al usar tipos de nodo flexibles, el recurso de proceso puede constar de una combinación de diferentes tipos de instancia. Todos los tipos de instancia de reserva son compatibles con su tipo preferido, manteniendo el mismo recuento de vCPU, memoria, diseño de disco, arquitectura de CPU e imagen del sistema operativo para asegurarse de que la carga de trabajo se ejecuta correctamente.

Puede ver qué tipos de instancia se adquirieron para el recurso de computación.

  1. En la página detalles del proceso, haga clic en los tres puntos situados junto al botón Finalizar y seleccione Ver JSON.
  2. Revise el node_type_id campo de cada ejecutor para ver qué tipos de instancia se están ejecutando.

También puede usar la API De obtención de información de clústeres para recuperar esta información mediante programación. Además, los usuarios con permiso para acceder a las tablas del sistema pueden consultar la node_timelines tabla. Consulte esquema de tabla de escala de tiempo de Node.

Deshabilitación de tipos de nodo flexibles en un recurso de proceso

Nota:

Databricks recomienda mantener habilitados los tipos de nodo flexibles a menos que tenga requisitos estrictos para un tipo de instancia específico.

Si prefiere que el inicio de proceso produzca un error en lugar de revertir a un tipo de instancia alternativo, puede deshabilitar el comportamiento de nodo flexible en el nivel de recurso de proceso individual. Esto solo se admite cuando se usa la API de clústeres. Para deshabilitar los tipos de nodo flexibles, establezca los campos de tipo de nodo flexible como vacíos en la configuración de proceso. Por ejemplo:

"worker_node_type_flexibility": {
  "alternate_node_type_ids": []
},
"driver_node_type_flexibility": {
  "alternate_node_type_ids": []
}