Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Классические вычислительные ресурсы в Azure Databricks используют гибкие типы узлов, что позволяет вычислительным ресурсам вернуться к альтернативным совместимым типам экземпляров, если указанный тип экземпляра недоступен.
Это позволяет повысить надежность запуска вычислительных ресурсов за счет уменьшения сбоев емкости (ошибок при загрузке ресурсов) во время запуска вычислений. Для точечных экземпляров с резервным вариантом гибкие типы узлов могут пытаться получить экземпляры несколько раз в разных типах экземпляров, прежде чем вернуться к экземплярам по запросу. Это приводит к более высокому проценту экземпляров, работающих как точечные, а не по запросу, уменьшая общие затраты на вычислительные ресурсы.
Принцип работы гибких типов узлов
При запуске вычислительного ресурса поставщик облачных услуг иногда испытывает нехватку ресурсов для указанного типа инстанса. Это приводит к ошибке нехватки товара:
CLOUD_PROVIDER_RESOURCE_STOCKOUT
Хотя эти ошибки более распространены для точечных экземпляров, они также могут возникать для экземпляров по запросу.
С включенными гибкими типами узлов Azure Databricks автоматически создает или использует указанный резервный список совместимых типов экземпляров. Если предпочтительный тип экземпляра недоступен, Azure Databricks пытается использовать резервные типы экземпляров вместо немедленной остановки с ошибкой.
Включите гибкие типы узлов в вашей рабочей области
Администраторы рабочей области могут включить гибкие типы узлов в параметрах администратора рабочей области. При включении все новые классические вычислительные ресурсы автоматически возвращаются к альтернативным типам узлов. Существующие вычислительные ресурсы всех целей не затрагиваются. Узнайте, как затронуты существующие рабочие нагрузки?
Чтобы включить гибкие типы узлов в рабочей области, выполните следующие действия.
- Войдите в раздел настройки как администратор рабочей области.
- Перейдите на вкладку "Вычисления ".
- Переключите параметр " Включить автоматически гибкие типы узлов ":
- Включено: все новые классические вычислительные ресурсы автоматически используют гибкие типы узлов, если явно не отключены.
- Отключен: классические вычислительные ресурсы используют только гибкие типы узлов, если вы явно настраиваете
node_type_flexibilityв конфигурации вычислительных ресурсов.
Если этот параметр отключен, пользователи по-прежнему могут настраивать гибкие типы узлов для отдельных вычислительных ресурсов, явно настраивая worker_node_type_flexibilitydriver_node_type_flexibility поля с настраиваемыми резервными списками. Чтобы запретить пользователям настраивать эти поля, администраторы рабочих областей могут использовать политики вычислений. См. примеры политики типа гибкого узла.
Указание настраиваемого резервного списка
Если гибкие типы узлов включены в рабочей области, Azure Databricks автоматически создает резервный список совместимых типов экземпляров для новых вычислительных ресурсов.
Если вы не хотите использовать автоматически созданный резервный список, можно указать собственный резервный список. Кроме того, если гибкие типы узлов отключены в рабочей области, вы по-прежнему можете указать настраиваемый резервный список для вычислительного ресурса. Совместимы только определенные типы экземпляров. См. требования к типу резервного экземпляра. Справочник по совместимым типам экземпляров см. в справочнике по совместимости типов гибких узлов.
Пользовательские резервные списки поддерживаются только при настройке вычислений с помощью API. См. справочную документацию по API кластеров .
Например, следующая конфигурация указывает тип экземпляра, к которому будет возвращаться вычислительный ресурс при необходимости:
"worker_node_type_flexibility": {
"alternate_node_type_ids": [
"Standard_L8s_v2"
]
},
"driver_node_type_flexibility": {
"alternate_node_type_ids": [
"Standard_L8s_v2"
]
},
Требования к типу резервного экземпляра
Резервные типы экземпляров должны быть совместимы с предпочитаемым типом экземпляра вычислений. Список резервных типов экземпляров должен соответствовать следующим требованиям:
- То же количество виртуальных ЦП и память, что и предпочтительный тип экземпляра (резервные экземпляры должны иметь от 100% до 110% памяти предпочтительного типа экземпляра).
- То же количество локальных дисков и размер диска, что и предпочтительный тип экземпляра
- Та же архитектура ЦП, что и предпочтительный тип экземпляра (все ARM или все x86)
- Та же поддержка образа ОС и Фотона в качестве предпочтительного типа экземпляра
- Не поддерживаются типы экземпляров GPU (GPU не поддерживаются)
- Не более 5 уникальных типов резервных экземпляров
- Все типы экземпляров должны иметь согласованную поддержку хранилища: либо все поддерживают хранилище PREMIUM_LRS, либо ни один не поддерживает.
Используйте гибкие типы узлов вместе с пулами
Вы также можете настроить резервный список для пулов. В API пулов задайте node_type_flexibility поле для указания резервных типов экземпляров. Рассмотрим пример.
"node_type_flexibility": {
"alternate_node_type_ids": ["Standard_L8s_v2"]
}
Пулы не поддерживают использование гибких типов экземпляров для поддержания минимального количества резервных экземпляров. Пул может запускать только виртуальные машины с помощью резервных типов экземпляров при попытке запуска вычислений из пула. Предварительное потепление minIdle счетчика использует только предпочтительный тип экземпляра.
Просмотр приобретенных типов экземпляров
При использовании гибких типов узлов вычислительный ресурс может состоять из различных типов экземпляров. Все резервные типы экземпляров совместимы с предпочитаемым типом, сохраняя одинаковый количество виртуальных ЦП, память, макет диска, архитектуру ЦП и образ ОС, чтобы обеспечить правильную работу рабочей нагрузки.
Вы можете просмотреть, какие типы экземпляров были приобретены для вычислительного ресурса:
- На странице сведений о вычислениях щелкните три точки рядом с кнопкой "Завершить " и выберите "Просмотреть JSON".
- Просмотрите
node_type_idполе для каждого исполнителя, чтобы узнать, какие типы экземпляров выполняются.
Вы также можете использовать API получения сведений о кластерах для получения этих сведений программным способом. Кроме того, пользователи с разрешением на доступ к системным таблицам могут запрашивать таблицу node_timelines . См. схему таблицы временной шкалы узла .
Отключение гибких типов узлов в вычислительном ресурсе
Замечание
Databricks рекомендует поддерживать гибкие типы узлов, если у вас нет строгих требований для определенного типа экземпляра.
Если вы предпочитаете, чтобы запуск вычислений завершился с ошибкой, а не переключался на альтернативный тип экземпляра, можно отключить гибкость узла на уровне отдельных вычислительных ресурсов. Это поддерживается только при использовании API кластеров. Чтобы отключить гибкие типы узлов, задайте поля типа гибкого узла пустым в конфигурации вычислений. Рассмотрим пример.
"worker_node_type_flexibility": {
"alternate_node_type_ids": []
},
"driver_node_type_flexibility": {
"alternate_node_type_ids": []
}
Часто задаваемые вопросы
Как влияют существующие рабочие нагрузки?
Существующие вычислительные ресурсы всех целей не изменяются. Чтобы использовать автоматический резервный механизм, создайте новый универсальный вычислительный ресурс после включения параметра или обновите спецификацию API вычислительных ресурсов с помощью настраиваемого списка резервных вариантов.
Для заданий с использованием вычислений задач каждый запуск создает новый вычислительный ресурс, поэтому последующие запуски существующих заданий автоматически используют гибкий резерв.
Работает ли эта функция с пулами экземпляров?
Да. Гибкие типы узлов применяются к конфигурациям пула экземпляров. Некоторые моменты, которые следует отметить:
-
Минимальный простой остается постоянным: минимальное количество простаивающих экземпляров в пуле
minIdleподдерживается с использованием вашего основного типа узла. Любые новые виртуальные машины, запущенные с помощью запроса на запуск кластера, могут выполняться с помощью совместимых резервных узлов, когда основной тип ограничен. - Изменения пула: после его создания невозможно изменить пул экземпляров. Если вы хотите изменить пользовательские резервные параметры, необходимо создать новый пул экземпляров.
-
Видимость API:
/api/2.0/instance-pools/getответ не отображает гибкость типа узла, если вы явно не настроили настраиваемый резервный список в пуле. Чтобы просмотреть резервную конфигурацию пула экземпляров, можно создать пример кластера и просмотреть/api/2.1/clusters/getответ.
Как выставляются счета?
Плата взимается на основе стандартных ставок DBU для типов экземпляров, фактически приобретенных. Все скидки на уровне экземпляра, которые у вас есть с поставщиком облачных служб, автоматически применяются к соответствующим типам экземпляров, используемым вычислительным ресурсом.
Как это взаимодействует с квотами типа узла в моей рабочей области?
Если запуск вычислений завершается сбоем из-за превышения квоты для основного типа узла, гибкие типы узлов могут повысить надежность, автоматически переключаясь на совместимую альтернативу. Тем не менее, для сбоев, управляемых квотами, Databricks рекомендует рассматривать откат как подстраховку, а не основное исправление. Вы можете запросить увеличение квоты у вашего поставщика облачных услуг, чтобы Azure Databricks могла постоянно получать предпочитаемые типы экземпляров, прежде чем переходить к альтернативным вариантам или использовать бессерверные ресурсы.
Можно ли включить гибкие типы узлов только для подмножества рабочих нагрузок?
Резервный вариант типа автоматически созданного узла можно настроить только на уровне рабочей области. Однако у вас есть два варианта управления резервным поведением определенной рабочей нагрузки:
-
(Рекомендуется) Включите гибкие типы узлов для рабочей области, а затем отключите конкретный кластер, задав
alternate_node_type_idsпустой список[]в спецификации этого кластера. - Отключите гибкие типы узлов для всей рабочей области, а затем активируйте конкретную спецификацию кластера, предоставив настраиваемый резервный список в
alternate_node_type_ids, который соответствует требованиям к совместимости.