Копирование приложений и данных в узлы пула

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

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

Определение области, необходимой для файла

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

Файлы ресурсов запуска пула

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

Например, можно использовать командную строку начальной задачи для перемещения или установки приложений. Вы также можете указать список файлов или контейнеров в учетной записи хранения Azure. Дополнительную информацию см. в разделе ResourceFile в документации по REST.

Если каждое задание, которое выполняется в пуле, запускает приложение (.exe), которое сначала должно быть установлено с файлом .msi, необходимо задать для начальной задачи свойство ожидание успехазначение true. Дополнительные сведения см. в статье StartTask в документации REST.

Ссылки на пакет приложения

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

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

Расширения

Расширения — это небольшие приложения, которые упрощают настройку и конфигурацию на вычислительных узлах службы Batch после подготовки. При создании пула можно выбрать поддерживаемое расширение, которое будет установлено на вычислительных узлах по мере их подготовки. После этого расширение может выполнять предполагаемую операцию.

Файлы ресурсов задачи по подготовке задания

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

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

Файлы ресурсов задач

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

Например, у вас может быть пять задач, каждая из которых обрабатывает другой файл, а затем записывает выходные данные в хранилище BLOB-объектов. В этом случае входной файл должен быть указан в коллекции файлов ресурсов задачи, так как каждая задача имеет собственный входной файл.

Дополнительные способы получения данных на узлах

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

Ниже приведены несколько примеров способов передачи данных на узлы Batch.

  • Скачивание данных из SQL
  • Скачивание данных из других веб-служб или произвольных местоположений
  • Сопоставление сетевой папки

Служба хранилища Azure

Помните, что хранилище BLOB-объектов имеет целевые показатели масштабируемости загрузки данных. Показатели масштабируемости файловой общей папки Azure совпадают с показателями масштабируемости одного блоба. Размер будет влиять на количество узлов и пулов, необходимых.

Дальнейшие действия