Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Скрипты инициализации с кластерной областью — это скрипты инициализации, определенные в конфигурации кластера. Скрипты инициализации на уровне кластера применяются как к кластерам, созданным для выполнения заданий, так и к тем, которые вы создаете.
Вы можете настраивать скрипты инициализации в области кластера с помощью пользовательского интерфейса, CLI и вызовов Clusters API. В этом разделе основное внимание уделяется выполнению этих задач с помощью пользовательского интерфейса. Другие методы см. в Databricks CLI и Clusters API.
Можно добавить любое количество скриптов, которые будут выполняться последовательно в указанном порядке.
Если скрипт инициализации для кластера возвращает ненулевой код результата, запуск кластера не удаётся. Вы можете устранить неполадки со скриптами инициализации кластера, настроив доставку логов кластера и проверив журнал инициализационных скриптов. Смотрите ведение журнала скриптов Init.
Настройка инициализационного скрипта на уровне кластера через пользовательский интерфейс
В этом разделе содержатся инструкции по настройке кластера для запуска скрипта инициализации с помощью пользовательского интерфейса Azure Databricks.
Databricks рекомендует управлять всеми скриптами инициализации как кластерными скриптами инициализации. Если вы используете вычислительные ресурсы с общим или одним режимом доступа пользователей, сохраните скрипты инициализации в томах каталога Unity. Если вы используете вычислительные ресурсы с режимом общего доступа без изоляции, используйте файлы рабочей области для сценариев инициализации.
Для режима общего доступа необходимо добавить скрипты инициализации в allowlist
. См. Библиотеки Allowlist и Скрипты Инициализации в Общих Вычислительных Средах.
Чтобы использовать пользовательский интерфейс для настройки кластера для запуска скрипта инициализации, выполните следующие действия.
- На странице "Конфигурация кластера" щелкните переключатель Дополнительные параметры.
- В нижней части страницы откройте вкладку Скрипты инициализации:
- В выпадающем списке источника выберите тип источника: рабочая область , том или ABFSS .
- Укажите путь к скрипту инициализации, например один из следующих примеров:
- Для скрипта инициализации, хранящегося в файлах рабочей области:
/Workspace/<path-to-script>/<script-name>.sh
- Для скрипта инициализации, хранящегося в томах каталога Unity:
/Volumes/<catalog>/<schema>/<volume>/<path-to-script>/<script-name>.sh
- Для скрипта инициализации, хранящегося в хранилище объектов:
abfss://[email protected]/path/to/init-script
- Для скрипта инициализации, хранящегося в файлах рабочей области:
- Нажмите кнопку Добавить.
В режиме доступа к одному пользователю используется удостоверение назначенного участника (пользователя или служебного принципала).
В режиме общего доступа используется удостоверение владельца кластера.
Примечание.
Без изоляции режим общего доступа не поддерживает работу с томами, но использует то же назначение идентификаций, что и режим общего доступа.
Чтобы удалить скрипт из конфигурации кластера, щелкните значок корзины справа от скрипта. При подтверждении удаления будет предложено перезапустить кластер. При необходимости файл скрипта можно удалить из расположения, в которое он был отправлен.
Примечание.
Если вы настраиваете инициализационный скрипт с использованием типа источника ABFSS , необходимо настроить учетные данные доступа.
Databricks рекомендует использовать служебные принципы Microsoft Entra ID для управления доступом к скриптам инициализации, хранящимся в Azure Data Lake Storage Gen2. Чтобы завершить настройку, используйте следующую связанную документацию:
Создайте учетную запись службы с разрешениями на чтение и просмотр для нужных объектов blob. См. раздел "Доступ к хранилищу с помощью учетной записи службы и Microsoft Entra ID (Azure Active Directory)".
Сохраните учетные данные с помощью секретов. См. раздел "Управление секретами".
Задайте свойства в конфигурации Spark и переменных среды при создании кластера, как показано в следующем примере:
Конфигурация Spark:
spark.hadoop.fs.azure.account.auth.type.<storage-account>.dfs.core.windows.net OAuth spark.hadoop.fs.azure.account.oauth.provider.type.<storage-account>.dfs.core.windows.net org.apache.hadoop.fs.azurebfs.oauth2.ClientCredsTokenProvider spark.hadoop.fs.azure.account.oauth2.client.id.<storage-account>.dfs.core.windows.net <application-id> spark.hadoop.fs.azure.account.oauth2.client.secret.<storage-account>.dfs.core.windows.net {{secrets/<secret-scope>/<service-credential-key>}} spark.hadoop.fs.azure.account.oauth2.client.endpoint.<storage-account>.dfs.core.windows.net https://login.microsoftonline.com/<tenant-id>/oauth2/token
Переменные среды:
SERVICE_CREDENTIAL={{secrets/<secret-scope>/<service-credential-key>}}
(Необязательно) Рефакторинг скриптов инициализации с помощью azcopy или Azure CLI.
Вы можете ссылаться на переменные среды во время настройки кластера в скриптах инициации, чтобы передать учетные данные, хранящиеся в качестве секретов для проверки.
Предупреждение
Скрипты инициализации с областью действия кластера в DBFS прекращают поддержку. Параметр DBFS в пользовательском интерфейсе существует в некоторых рабочих областях для поддержки устаревших рабочих нагрузок и не рекомендуется. Необходимо перенести все скрипты инициализации, хранящиеся в DBFS. Инструкции по миграции см. в разделе "Миграция сценариев инициализации" из DBFS.
Наладка сценариев инициализации, ограниченных областью кластера
- Скрипт должен существовать в настроенном расположении. Если скрипт не существует, попытки запустить кластер или увеличить масштаб исполнителя приводят к сбою.
- Размер скрипта инициализации не может превышать 64 КБ. Если скрипт превысит этот размер, кластер не сможет запуститься, и в журнале кластера появится сообщение о сбое.