Управление вычислительными ресурсами

В этой статье описывается управление вычислительными ресурсами Azure Databricks, включая отображение, редактирование, запуск, завершение, удаление, управление доступом и мониторинг производительности и журналов. Api кластеров также можно использовать для программного управления вычислительными ресурсами.

Просмотр вычислений

Чтобы просмотреть вычислительные ресурсы, щелкните " Значок вычисленийВычисления " на боковой панели рабочей области.

В левой части — это два столбца, указывающие, закреплены ли вычисления и состояние вычисления. Наведите указатель мыши на состояние, чтобы получить дополнительные сведения.

Просмотр конфигурации вычислений в виде JSON-файла

Иногда это может быть полезно для просмотра конфигурации вычислений в формате JSON. Это особенно полезно, если требуется создать аналогичные вычисления с помощью API кластеров. При просмотре существующих вычислений перейдите на вкладку "Конфигурация" , щелкните JSON в правом верхнем углу вкладки, скопируйте JSON и вставьте его в вызов API. Представление JSON доступно только для чтения.

Закрепление вычислительных ресурсов

Через 30 дней после завершения вычисления она будет окончательно удалена. Чтобы сохранить конфигурацию вычислений всех целей после завершения вычисления более 30 дней, администратор может закрепить вычислительные ресурсы. Можно закрепить до 100 вычислительных ресурсов.

Администратор может закрепить вычисления из списка вычислений или страницу сведений о вычислениях, щелкнув значок закрепления.

Изменение вычислительных ресурсов

Вы можете изменить конфигурацию вычислений из пользовательского интерфейса сведений о вычислении.

Примечание.

  • Записные книжки и задания, присоединенные к вычислительным ресурсам, остаются присоединенными после редактирования.
  • Библиотеки, установленные на вычислительных ресурсах, остаются установленными после редактирования.
  • Если вы редактируете любой атрибут выполняющегося вычисления (за исключением размера вычислительных ресурсов и разрешений), необходимо перезапустить его. Это может нарушить работу пользователей, которые в настоящее время используют вычислительные ресурсы.
  • Вы можете изменять только запущенные или завершенные вычисления. Однако разрешения на обновление вычислительных ресурсов не в этих состояниях можно обновить на странице сведений о вычислениях.

Клонирование вычислений

Чтобы клонировать существующие вычисления, выберите "Клонировать " в меню кебаб вычислений Меню Кебаб .

После выбора клонирования пользовательский интерфейс создания вычислений откроется предварительно заполнен конфигурацией вычислений. Следующие атрибуты не включаются в клон.

  • Разрешения вычислений
  • Подключенные записные книжки

Если вы хотите не включать ранее установленные библиотеки в клонированные вычисления, щелкните раскрывающееся меню рядом с кнопкой "Создать вычисления" и нажмите кнопку "Создать без библиотек".

Разрешения вычислений

Существует четыре уровня разрешений для вычислений: НЕТ РАЗРЕШЕНИЙ, CAN ATTACH TO, CAN RESTART и CAN MANAGE. В таблице ниже перечислены возможности, предоставляемые каждым разрешением.

Внимание

Пользователи с разрешениями CAN ATTACH TO могут просматривать ключи учетной записи службы в файле log4j. При предоставлении разрешений такого уровня следует соблюдать осторожность.

Замечайте способности* НЕТ РАЗРЕШЕНИЙ МОЖЕТ ПОДКЛЮЧИТЬСЯ К МОЖЕТ ПЕРЕЗАПУСТИТЬ МОЖЕТ УПРАВЛЯТЬ
Подключение записной книжки к вычислительным ресурсам x x x
Просмотреть пользовательский интерфейс Spark x x x
Просмотр метрик вычислений x x x
Просмотр журналов драйверов x (см. примечание)
Завершение вычислений x x
Запуск и перезапуск вычислений x x
Изменение вычислительных ресурсов x
Присоединение библиотеки к вычислительным ресурсам x
Изменение размера вычислений x
Изменение разрешений x

Администраторы рабочей области имеют разрешение CAN MANAGE для всех вычислительных ресурсов в рабочей области. У пользователей автоматически есть разрешение CAN MANAGE для создаваемых вычислительных ресурсов.

Примечание.

Секреты не редактируются из журнала stdout и stderr потоков драйвера Spark кластера. Для защиты конфиденциальных данных журналы драйверов Spark по умолчанию доступны только пользователям с разрешением CAN MANAGE для задания, режима доступа одного пользователя и кластеров общего доступа. Чтобы разрешить пользователям с разрешением CAN ATTACH TO или CAN RESTART просматривать журналы в этих кластерах, задайте в конфигурации кластера следующее свойство конфигурации Spark: spark.databricks.acl.needAdminPermissionToViewLogs false

В кластерах режима общего доступа без изоляции журналы драйверов Spark могут просматриваться пользователями с разрешением CAN ATTACH TO или CAN MANAGE. Чтобы ограничить, кто может считывать журналы только пользователям с разрешением CAN MANAGE, установите значение spark.databricks.acl.needAdminPermissionToViewLogstrue.

Сведения о добавлении свойств Spark в конфигурацию кластера см . в разделе "Конфигурация Spark".

Настройка разрешений вычислений

В этом разделе описывается управление разрешениями с помощью пользовательского интерфейса рабочей области. Вы также можете использовать API разрешений или поставщик Databricks Terraform.

Для настройки разрешений вычислений необходимо иметь разрешение CAN MANAGE для вычислений.

  1. На боковой панели щелкните Вычислительная среда.
  2. В строке вычислений щелкните меню Вертикальный многоточие кебаб справа и выберите пункт "Изменить разрешения".
  3. В разделе "Разрешения" Параметры щелкните раскрывающееся меню "Выбрать пользователя", группу или субъект-службу... и выберите пользователя, группу или субъект-службу.
  4. Выберите разрешение в раскрывающемся меню разрешений.
  5. Нажмите кнопку "Добавить" и нажмите кнопку "Сохранить".

Завершение вычисления

Чтобы сохранить вычислительные ресурсы, можно завершить вычисление. Конфигурация завершенных вычислений хранится таким образом, чтобы ее можно было повторно использовать (или, в случае заданий, автоматически запускаемых) в последующее время. Вы можете вручную завершить вычисление или настроить вычисление для автоматического завершения после указанного периода бездействия. Когда число завершенных вычислений превышает 150, удаляется самый старый вычислительный ресурс.

Если вычисление не закреплено или перезапущено, оно автоматически и окончательно удаляется через 30 дней после завершения.

Завершенные вычисления отображаются в списке вычислений с серым кругом слева от имени вычисления.

Примечание.

При запуске задания в новом вычислении задания (которое обычно рекомендуется), вычисление завершается и недоступно для перезапуска при завершении задания. С другой стороны, если вы планируете выполнение задания на существующем вычислении all-Purpose, которое было завершено, это вычислительная среда будет автоматически запускаться.

Внимание

Если вы используете рабочую область пробной версии Premium, все запущенные вычислительные ресурсы завершаются:

  • При обновлении рабочей области до полного плана "Премиум".
  • Если рабочая область не обновлена и срок действия пробной версии истек.

Завершение работы вручную

Вы можете вручную завершить вычисление из списка вычислений (щелкнув квадрат в строке вычисления) или страницу сведений о вычислении (нажав кнопку "Завершить").

Автоматическое завершение

Вы также можете настроить автоматическое завершение вычислений. Во время создания вычислений можно указать период бездействия в минутах после завершения вычисления.

Если разница между текущим временем и последней командой, выполняемой в вычислении, превышает указанный период бездействия, Azure Databricks автоматически завершает вычисление.

Вычисление считается неактивным, если все команды на вычислительных ресурсах, включая задания Spark, структурированную потоковую передачу и вызовы JDBC, завершили выполнение.

Предупреждение

  • Вычисления не сообщают о действиях, полученных из-за использования D Потоки. Это означает, что автоматическое завершение вычислений может быть завершено при запуске D Потоки. Отключите автоматическое завершение вычислений под управлением D Потоки или рассмотрите возможность использования структурированной потоковой передачи.
  • Неактивные вычисления продолжают накапливать расходы на DBU и облачные экземпляры в течение периода бездействия до завершения работы.

Настройка автоматического завершения работы

Вы можете настроить автоматическое завершение в новом пользовательском интерфейсе вычислений. Убедитесь, что поле проверка, и введите количество минут после ___ минут бездействия.

Вы можете отказаться от автоматического завершения работы, сняв соответствующий флажок или указав период бездействия 0.

Примечание.

Наиболее оптимальную поддержку автоматического завершения работы обеспечивают последние версии Spark. Старые версии Spark имеют известные ограничения, которые могут привести к неточному отчету о действиях вычислений. Например, вычислительные ресурсы, работающие под управлением JDBC, R или потоковой передачи, могут сообщать об устаревшем времени действия, что приводит к преждевременному завершению вычислений. Обновите версию Spark до последней, чтобы воспользоваться исправлениями и улучшениями автоматического завершения работы.

Непредвиденное завершение работы

Иногда вычисление неожиданно завершается, а не в результате завершения вручную или настроенного автоматического завершения.

Список причин завершения работы и действия по исправлению см. в Базе знаний.

Удаление вычислительных ресурсов

Удаление вычисления завершает вычисление и удаляет его конфигурацию. Чтобы удалить вычислительные ресурсы, выберите "Удалить " в меню вычислений Меню Кебаб .

Предупреждение

Это действие нельзя отменить.

Чтобы удалить закрепленное вычисление, сначала его необходимо открепить администратором.

Можно также вызвать конечную точку API кластеров, чтобы удалить вычислительные ресурсы программным способом.

Перезапуск вычислительных ресурсов

Вы можете перезапустить ранее завершенные вычисления из списка вычислений, страницы сведений о вычислении или записной книжке. Можно также вызвать конечную точку API кластеров, чтобы запустить вычисление программным способом.

Azure Databricks определяет вычислительные ресурсы с помощью уникального идентификатора кластера. При запуске завершенного вычисления Databricks повторно создает вычислительные ресурсы с одинаковым идентификатором, автоматически устанавливает все библиотеки и повторно присоединяет записные книжки.

Примечание.

Если вы используете рабочую область пробной версии и срок действия пробной версии истек, вы не сможете запустить вычисление.

Перезапустите вычисление, чтобы обновить его с помощью последних образов

При перезапуске вычислений он получает последние образы для контейнеров вычислительных ресурсов и узлов виртуальных машин. Важно запланировать регулярные перезапуски для длительных вычислений, таких как те, которые используются для обработки потоковых данных.

Вы должны самостоятельно позаботиться о регулярном перезапуске вычислительных ресурсов, чтобы обеспечить актуальность версий образов.

Внимание

Если вы включите профиль безопасности соответствия для учетной записи или рабочей области, длительные вычисления автоматически перезапускается при необходимости во время запланированного периода обслуживания. Это позволяет снизить риск автоматического перезапуска, прерывающего запланированное задание. Вы также можете принудительно перезапустить во время периода обслуживания. См. раздел "Автоматическое обновление кластера".

Пример записной книжки: поиск длительных вычислений

Если вы являетесь администратором рабочей области, можно запустить скрипт, который определяет, сколько времени выполняется каждый вычислительный ресурс, а при необходимости перезапустите их, если они старше указанного числа дней. В Azure Databricks этот скрипт предоставляется в виде записной книжки.

Первые строки скрипта определяют параметры конфигурации:

  • min_age_output: максимальное количество дней, которые может выполнять вычисление. По умолчанию 1.
  • perform_restart: если Trueскрипт перезагрузит любые вычисления с возрастом, превышающим число дней, указанное в параметре min_age_output. Значение по умолчанию определяет Falseдлительные вычислительные ресурсы, но не перезапускает их.
  • secret_configuration: замените REPLACE_WITH_SCOPE и REPLACE_WITH_KEYобластью действия секрета и именем ключа. Дополнительные сведения о настройке секретов см. в записной книжке.

Предупреждение

Если задано значение perform_restartTrue, скрипт автоматически перезапускает подходящие вычислительные ресурсы, что может привести к сбою активных заданий и сбросу открытых записных книжек. Чтобы снизить риск нарушения бизнес-критически важных заданий рабочей области, спланируйте запланированное время обслуживания и обязательно уведомите пользователей рабочей области.

Определение и при необходимости перезапуск длительных вычислений

Получить записную книжку

Автоматическое выполнение вычислений для заданий и запросов JDBC/ODBC

Когда задание, назначенное завершенному вычислению, планируется выполнить или подключиться к завершенному вычислению из интерфейса JDBC/ODBC, вычислительные ресурсы автоматически перезапускаются. См. раздел Создание задания и Подключение JDBC.

Автоматическое запуск вычислений позволяет настроить автоматическое завершение вычислений без необходимости ручного вмешательства для перезапуска вычислений для запланированных заданий. Кроме того, можно запланировать инициализацию вычислений, запланируя задание для запуска в завершенном вычислении.

Перед автоматическим перезапуском вычислительных ресурсов проверка разрешения управления доступом вычислений и заданий.

Примечание.

Если вычислительные ресурсы были созданы на платформе Azure Databricks версии 2.70 или более ранней, то нет автоматического запуска: задания, запланированные для запуска на завершенных вычислениях, завершаются сбоем.

Просмотр сведений о вычислениях в пользовательском интерфейсе Apache Spark

Подробные сведения о заданиях Spark можно просмотреть, выбрав вкладку пользовательского интерфейса Spark на странице сведений о вычислениях.

При перезапуске завершенных вычислений пользовательский интерфейс Spark отображает сведения о перезапущенных вычислениях, а не сведения о журнале для завершенных вычислений.

Сведения о диагностике проблем с затратами и производительностью с помощью пользовательского интерфейса Spark для диагностики проблем с затратами и производительностью с помощью пользовательского интерфейса Spark.

Просмотр журналов вычислений

Azure Databricks предоставляет три типа ведения журнала действий, связанных с вычислениями:

  • Журналы событий вычислений, которые фиксируют события жизненного цикла вычислений, такие как создание, завершение и изменение конфигурации.
  • Драйвер Apache Spark и журнал рабочей роли, которые можно использовать для отладки.
  • Журналы инициализации вычислений, которые полезны для отладки скриптов инициализации.

В этом разделе рассматриваются журналы событий вычислений и журналы драйверов и рабочих ролей. Дополнительные сведения о журналах сценариев init-script см. в разделе "Ведение журнала скриптов Init".

Журналы событий вычислений

В журнале событий вычислений отображаются важные события жизненного цикла вычислений, которые активируются вручную действиями пользователя или автоматически azure Databricks. Такие события влияют на работу вычислений в целом и задания, выполняемые в вычислительных ресурсах.

Сведения о поддерживаемых типах событий см. в структуре данных API кластеров.

События хранятся в течение 60 дней, что сравнимо со временем хранения других данных в Azure Databricks.

Просмотр журнала событий вычислений

Чтобы просмотреть журнал событий вычислений, перейдите на вкладку "Журнал событий" на страницах сведений о вычислениях.

Дополнительные сведения о событии щелкните ее строку в журнале, а затем перейдите на вкладку JSON для получения сведений.

Журналы вычислительных драйверов и рабочих ролей

Инструкции direct print и log из записных книжек, заданий и библиотек указывают на журналы драйверов Spark. Эти файлы журналов можно получить на вкладке "Журналы драйверов" на странице сведений о вычислениях . Чтобы скачать файл журнала, щелкните его имя.

Эти журналы имеют три типа выходных данных:

  • Стандартные выходные данные
  • Стандартная ошибка
  • Журналы log4j

Чтобы просмотреть журналы рабочих ролей Spark, перейдите на вкладку пользовательского интерфейса Spark. Вы также можете настроить расположение доставки журналов для вычислительных ресурсов. Рабочие и вычислительные журналы доставляются в указанное расположение.

Мониторинг производительности

Чтобы помочь вам отслеживать производительность вычислений Azure Databricks, Azure Databricks предоставляет доступ к метрикам на странице сведений о вычислениях. Для Databricks Runtime 12.2 и ниже Azure Databricks предоставляет доступ к метрикам Ganglia . Для Databricks Runtime 13.0 и более поздних версий вычислительные метрики предоставляются Azure Databricks.

Кроме того, вы можете настроить вычисление Azure Databricks для отправки метрик в рабочую область Log Analytics в Azure Monitor, платформу мониторинга для Azure.

Агенты Datadog также можно установить на вычислительных узлах для отправки метрик Datadog в учетную запись Datadog.

Метрики вычислений

Метрики вычислений — это средство мониторинга по умолчанию для Databricks Runtime 13.0 и более поздних версий. Чтобы получить доступ к пользовательскому интерфейсу вычислительных метрик, перейдите на вкладку "Метрики" на странице сведений о вычислениях .

Вы можете просмотреть исторические метрики, выбрав диапазон времени с помощью фильтра средства выбора дат. Метрики собираются каждую минуту. Вы также можете получить последние метрики, нажав кнопку "Обновить ". Дополнительные сведения см. в разделе "Просмотр метрик вычислений".

Метрики Ganglia

Примечание.

Метрики Ganglia доступны только для Databricks Runtime 12.2 и ниже.

Чтобы получить доступ к пользовательскому интерфейсу Ganglia, перейдите на вкладку "Метрики" на странице сведений о вычислениях . Метрики ЦП доступны в пользовательском интерфейсе Ganglia для всех сред выполнения Databricks. Метрики GPU доступны для вычислений с поддержкой GPU.

Чтобы просмотреть динамические метрики, щелкните ссылку Пользовательский интерфейс Ganglia.

Чтобы просмотреть ретроспективные метрики, щелкните файл моментального снимка. Моментальный снимок содержит агрегированные метрики за час, предшествующий выбранному времени.

Примечание.

Ganglia не поддерживается с контейнерами Docker. Если вы используете контейнер Docker с вычислительными ресурсами, метрики Ganglia не будут доступны.

Настройка коллекции метрик Ganglia

По умолчанию Azure Databricks собирает метрики Ganglia каждые 15 минут. Чтобы настроить период сбора, задайте DATABRICKS_GANGLIA_SNAPSHOT_PERIOD_MINUTES переменную среды с помощью скриптаинициализации или поля в spark_env_vars API создания кластера.

Azure Monitor

Вы можете настроить вычислительные ресурсы Azure Databricks для отправки метрик в рабочую область Log Analytics в Azure Monitor, платформу мониторинга для Azure. Полные инструкции см. в статье Мониторинг Azure Databricks.

Примечание.

Если вы развернули рабочую область Azure Databricks в своей виртуальной сети и настроили группы безопасности сети (NSG), чтобы запретить весь исходящий трафик, который не требуется Azure Databricks, необходимо настроить дополнительное правило исходящего трафика для тега службы AzureMonitor.

Пример записной книжки: метрики Datadog

Метрики Datadog

Агенты Datadog можно установить на вычислительных узлах для отправки метрик Datadog в учетную запись Datadog. В следующей записной книжке показано, как установить агент Datadog на вычисления с помощью скрипта инициализации область вычислений.

Чтобы установить агент Datadog на всех вычислительных ресурсах, управляйте скриптом вычисления область d init с помощью политики вычислений.

Установка записной книжки скрипта инициализации агента Datadog

Получить записную книжку

Вывод точечных экземпляров

Так как точечные экземпляры могут снизить затраты , создание вычислений с помощью точечных экземпляров, а не экземпляров по запросу — это распространенный способ выполнения заданий. Однако экземпляры точечных виртуальных машин могут вытесняться механизмами планирования поставщика облачных служб. Вытеснение экземпляров точечных виртуальных машин может вызвать проблемы с выполняемыми заданиями, в том числе:

  • Сбои при получении случайных данных
  • Потеря случайных данных
  • Потеря данных RDD
  • Сбои задания

Чтобы решить эти проблемы, можно включить списание. Списание использует преимущества уведомления, которое поставщик облачных служб обычно отправляет перед списанием экземпляра точечной виртуальной машины. Когда экземпляр точечной виртуальной машины, содержащий исполнитель, получает уведомление о вытеснении, процесс списания попытается перенести случайные данные и данные RDD в работоспособные исполнители. До окончательного списания обычно проходит от 30 секунд до 2 минут в зависимости от поставщика облачных служб.

Databricks рекомендует включать перенос данных при включении списания. Как правило, чем больше переносится данных, тем меньше вероятность ошибок, включая сбои при получении случайных данных, потерю случайных данных и потерю данных RDD. Миграция данных также может привести к меньшим затратам на повторное вычисление и экономию.

Примечание.

Вывод из эксплуатации — это лучшие усилия и не гарантирует, что все данные можно перенести до окончательного прерывания. Списание не может гарантировать, что в процессе выполнения задач не будут возникать сбои при попытке получить случайные данные от исполнителя.

При включенном списании сбои задач, вызванные вытеснением экземпляров точечных виртуальных машин, не добавляются к общему количеству неудачных попыток. Сбои задач, вызванные вытеснением, не учитываются как неудачные попытки, поскольку причина сбоя является внешней для задачи и не приводит к сбою задания.

Включение вывода из эксплуатации

Чтобы включить списание вычислительных ресурсов, введите следующие свойства на вкладке Spark в разделе "Дополнительные параметры " в пользовательском интерфейсе конфигурации вычислений. Дополнительные сведения об этих свойствах см. в разделе "Конфигурация Spark".

  • Чтобы включить отключение для приложений, введите это свойство в поле конфигурации Spark:

    spark.decommission.enabled true
    
  • Чтобы включить перетасовку миграции данных во время вывода из эксплуатации, введите это свойство в поле конфигурации Spark:

    spark.storage.decommission.enabled true
    spark.storage.decommission.shuffleBlocks.enabled true
    
  • Чтобы включить миграцию данных кэша RDD во время вывода из эксплуатации, введите это свойство в поле конфигурации Spark:

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

    Примечание.

    Если репликация StorageLevel RDD имеет значение больше 1, Databricks не рекомендует включать перенос данных RDD, так как реплики гарантируют, что данные RDD не будут потеряны.

  • Чтобы включить отключение рабочих ролей, введите это свойство в поле "Переменные среды":

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

Просмотр состояния вывода и причины потери в пользовательском интерфейсе

Чтобы получить доступ к состоянию вывода рабочей роли из пользовательского интерфейса, перейдите на вкладку Master .

Завершив вывод из эксплуатации, вы можете просмотреть причину потери исполнителя на вкладке "Исполнителя пользовательского интерфейса > Spark" на странице сведений о вычислениях.