Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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 las instancias spot con recambio, los tipos de nodo flexibles pueden intentar adquirir instancias varias veces entre diferentes tipos de instancia antes de recurrir a instancias bajo demanda. Esto da lugar a un mayor porcentaje de instancias que se ejecutan como spot en lugar de bajo demanda, lo que reduce los costes totales de proceso.
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 de respaldo en lugar de fallar inmediatamente.
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ásico se revierten automáticamente a tipos de nodo alternativos. Los recursos de computación de propósito general existentes no están afectados. Consulte ¿Cómo se ven afectadas las cargas de trabajo existentes?.
Para habilitar tipos de nodo flexibles en un área de trabajo:
- Como administrador del área de trabajo, vaya a la página de configuración.
- Haga clic en la pestaña Computación .
- 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_flexibilityexplícitamente en la configuración de recursos de proceso.
Si esta opción está deshabilitada, los usuarios todavía pueden configurar tipos de nodo flexibles para recursos de cómputo individuales configurando explícitamente los campos worker_node_type_flexibility o driver_node_type_flexibility con listas de respaldo 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 los tipos de instancia de recambio
Los tipos de instancia de recambio deben ser compatibles con el tipo de instancia preferido de la instancia de proceso. 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 ser compatibles con el almacenamiento de forma coherente: o bien todos admiten el almacenamiento PREMIUM_LRS, o bien ninguno lo admite.
Uso de tipos de nodo flexibles con grupos
También puedes personalizar una lista de alternativas para los grupos. En la API de grupos, configura el campo node_type_flexibility para especificar los tipos de instancia alternativos. Por ejemplo:
"node_type_flexibility": {
"alternate_node_type_ids": ["Standard_L8s_v2"]
}
Los grupos no admiten el uso de tipos de instancia flexibles para mantener el recuento 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 minIdle recuento solo utiliza 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.
- En la página detalles del proceso, haga clic en los tres puntos situados junto al botón Finalizar y seleccione Ver JSON.
- Revise el
node_type_idcampo 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": []
}
Preguntas más frecuentes
¿Cómo se ven afectadas las cargas de trabajo existentes?
Los recursos de cómputo de propósito general existentes permanecen sin cambios. Para usar el respaldo automático, cree un nuevo recurso de cómputo multipropósito después de habilitar la configuración, o actualice la especificación de API del recurso de cómputo con una lista de respaldo personalizada.
En el caso de los trabajos que utilizan proceso por trabajo, cada ejecución crea un nuevo recurso de proceso, por lo que las ejecuciones posteriores de los trabajos existentes utilizan automáticamente el recurso de reserva flexible.
¿Funciona esto con grupos de instancias?
Sí. Los tipos de nodo flexibles se aplican a las configuraciones del grupo de instancias. Algunos puntos a tener en cuenta:
-
El número mínimo de instancias inactivas se mantiene constante: las instancias inactivas mínimas del grupo (
minIdle) se mantienen utilizando el tipo de nodo principal. Cualquier nueva máquina virtual lanzada a través de una solicitud de lanzamiento de clúster puede satisfacerse utilizando tipos de nodo de reserva compatibles cuando el tipo principal está limitado. - Modificaciones del grupo: no se puede editar un grupo de instancias después de crearlo. Si desea cambiar cualquier configuración de recurso de reserva personalizada, debe crear un nuevo grupo de instancias.
-
Visibilidad de la API: La respuesta
/api/2.0/instance-pools/getno muestra la flexibilidad del tipo de nodo a menos que haya configurado explícitamente una lista de recursos de reserva personalizada en el grupo. Para ver la configuración de respaldo del grupo de instancias, puede crear un clúster de ejemplo y visualizar la respuesta/api/2.1/clusters/get.
¿Cómo funciona la facturación?
Se le facturará según las tarifas estándar de DBU correspondientes a los tipos de instancia realmente adquiridos. Los descuentos de nivel de instancia que tenga con el proveedor de nube se aplican automáticamente a los tipos de instancia coincidentes usados por el recurso de proceso.
¿Cómo interactúa con las cuotas de tipo de nodo en mi área de trabajo?
Si el lanzamiento de un recurso de proceso falla porque su tipo de nodo principal alcanza el límite de cuota excedida, los tipos de nodo flexibles pueden seguir mejorando la fiabilidad del lanzamiento recurriendo automáticamente a una alternativa compatible. Dicho esto, para los fallos debidos a la cuota, Databricks recomienda considerar el recurso de reserva como una red de seguridad más que como la solución principal. Puede solicitar un aumento de cuota del proveedor de nube para que Azure Databricks pueda adquirir de forma coherente los tipos de instancia preferidos antes de recurrir a alternativas o usar un proceso sin servidor.
¿Puedo habilitar tipos de nodo flexibles solo para un subconjunto de mis cargas de trabajo?
La opción de recurso alternativo para los tipos de nodo generados automáticamente solo se puede configurar a nivel del espacio de trabajo. Sin embargo, tiene dos opciones para controlar el comportamiento de retroceso de una carga de trabajo específica.
-
(Recomendado) Habilite los tipos de nodo flexibles para el área de trabajo y, a continuación, desactive un clúster específico estableciendo
alternate_node_type_idsen una lista[]vacía en la especificación de ese clúster. - Deshabilite los tipos de nodo flexibles para todo el área de trabajo y, a continuación, opte por una especificación de clúster específica proporcionando una lista de reserva personalizada en
alternate_node_type_idsque cumpla los requisitos de compatibilidad.