快速入门:使用 Azure 门户创建 Batch 帐户并运行作业

本快速入门介绍如何使用 Azure 门户开始使用 Azure Batch。 请创建一个包含虚拟机 (VM) 或计算节点池的 Batch 帐户。 然后创建并运行一个作业,其中包含在池节点上运行的任务。

完成本快速入门后,你将了解 Batch 服务的关键概念,并准备好将 Batch 用于更现实、更大规模的工作负载。

先决条件

注意

对于某些区域和订阅类型,配额限制可能会导致 Batch 帐户或节点创建失败或无法完成。 在这种情况下,可以免费请求增加配额。 有关详细信息,请参阅 Batch 服务的配额和限制

创建 Batch 帐户和 Azure 存储帐户

创建池和作业需要 Batch 帐户。 以下步骤将创建一个示例 Batch 帐户。 你还可以创建一个 Azure 存储帐户来链接到自己的 Batch 帐户。 尽管本快速入门不使用存储帐户,但大多数实际 Batch 工作负载都使用链接的存储帐户来部署应用程序并存储输入和输出数据。

  1. 登录到 Azure 门户,搜索并选择“Batch 帐户”。

    屏幕截图显示在 Azure 门户中选择 Batch 帐户。

  2. 在“Batch 帐户”页面上,选择“创建”。

  3. 在“新建 Batch 帐户”页面上,输入或选择以下值:

    • 在“资源组”下,选择“新建”,输入名称 qsBatch,然后选择“确定”。 资源组是一个逻辑容器,用于保存本快速入门的 Azure 资源。
    • 对于“帐户名称”,请输入名称 mybatchaccount。 Batch 帐户名称在所选的 Azure 区域中必须唯一,只能包含小写字母和数字,并且必须介于 3-24 个字符之间。
    • 对于“位置”,请选择“中国东部”。
    • 在“存储帐户”下,选择“选择存储帐户”链接。

    Azure 门户中“新建 Batch 帐户”页的屏幕截图。

  4. 在“创建存储帐户”页面上,在“名称”下,输入 mybatchstorage。 将其他设置保留为默认设置,然后选择“确定”。

  5. 选择“新建 Batch 帐户”页底部的“查看 + 创建”,然后在验证通过时选择“创建”。

  6. 当“部署成功”消息出现时,请选择“转到资源”转到你创建的 Batch 帐户。

创建计算节点池

接下来,在 Batch 帐户中创建 Windows 计算节点池。 以下步骤将创建一个池,其中包含两个运行 Windows Server 2019 的 Standard_A1_v2 大小的 VM。 就此快速入门来说,此节点大小在性能和成本之间达成了很好的平衡。

  1. 在 Batch 帐户页上,从左侧导航栏中选择“”。

  2. 在“”页上,选择“添加”。

  3. 在“添加池”页上,对于“名称”,输入 myPool

  4. 在“操作系统”下,选择以下设置:

    • 发布者:选择 microsoftwindowsserver
    • Sku:选择 2019-datacenter-core-smalldisk
  5. 向下滚动到“节点大小”,对于“VM 大小”,请选择“Standard_A1_v2”。

  6. 在“缩放”下,对于“目标专用节点”,输入 2

  7. 接受其余设置的默认值,然后选择页面底部的“确定”。

Batch 会立即创建池,但分配和启动计算节点需要数分钟。 在“”页上,可以选择 myPool 转到“myPool”页,并在“基本信息”>“分配状态”下看到池状态“正在调整大小”。 当池状态仍为“正在调整大小”或“正在启动”时,可以继续创建作业和任务。

数分钟后,“分配状态”更改为“稳定”,节点启动。 若要检查节点的状态,请在“myPool”页左侧导航中选择“节点”。 当节点的状态为“空闲”时,可以运行任务。

创建作业

现在创建一个要在池上运行的作业。 Batch 作业是一个或多个任务的逻辑组。 该作业包含任务的公用设置,例如优先级以及运行任务的池。 在你创建任务之前,该作业不会有任务。

  1. mybatchaccount 页上,从左侧导航中选择“作业”。

  2. 在“作业”页上,选择“添加”。

  3. 在“添加作业”页上,对于“作业 ID”,输入 myJob

  4. 选择“选择池”,在“选择池”页上,选择“myPool”,然后选择“选择”。

  5. 在“添加作业”页面上,选择“确定”。 Batch 将创建作业并将其列在“作业”页上。

创建任务

作业可以包含多个可在计算节点上运行的任务,由 Batch 进行排队和分发。 Batch 提供了多种将应用和脚本部署到计算节点的方式。 创建任务时,可以在命令行中指定应用或脚本。

以下过程将在作业中创建并运行两个相同的任务。 每个任务都运行一个命令行,其显示计算节点上的 Batch 环境变量,然后等待 90 秒。

  1. 在“作业”页上,选择“myJob”。

  2. 在“任务”页上,选择“添加”。

  3. 在“添加任务”页上,对于“任务 ID”,输入 myTask1

  4. 在“命令行”中输入 cmd /c "set AZ_BATCH & timeout /t 90 > NUL"

  5. 接受其余设置的默认值,然后选择“提交”。

  6. 重复上述步骤以创建第二个任务,但对于“任务 ID”输入 myTask2

创建每个任务后,Batch 会让其排队在池中运行。 节点可用后,任务将在该节点上运行。 在快速入门示例中,如果第一个任务仍在一个节点上运行,则 Batch 将在池中的其他节点上启动第二个任务。

查看任务输出

任务应该在几分钟内完成。 若要更新任务状态,请选择“任务”页顶部的“刷新”。

若要查看已完成任务的输出,可以从“任务”页中选择该任务。 在“myTask1”页上,选择 stdout.txt 文件以查看任务的标准输出。

已完成 Batch 作业的任务页面屏幕截图。

stdout.txt 文件的内容类似于以下示例:

已完成任务的标准输出文件的屏幕截图。

此任务的标准输出显示节点上设置的 Azure Batch 环境变量。 只要此节点存在,就可以在 Batch 作业任务命令行以及命令行运行的应用和脚本中引用这些环境变量。

清理资源

若要继续学习 Batch 教程和示例,可以继续使用在本快速入门中创建的 Batch 帐户和关联的存储帐户。 Batch 帐户本身不收费。

池和节点在节点运行时会产生费用,即使它们未运行作业也是如此。 不再需要池时,请将其删除。

若要删除池,请执行以下操作:

  1. 在 Batch 帐户页上,从左侧导航栏中选择“”。
  2. 在“”页上,选择要删除的池,然后选择“删除”。
  3. 在“删除池”屏幕上,输入池的名称,然后选择“删除”。

删除池会删除节点上的所有任务输出以及节点本身。

当不再需要为本快速入门创建的任何资源时,可以删除资源组及其所有资源,包括存储帐户、Batch 帐户和节点池。 若要删除资源组,请选择 qsBatch 资源组页顶部的“删除资源组”。 在“删除资源组”屏幕上,输入资源组名称 qsBatch,然后选择“删除”。

后续步骤

在本快速入门中,你创建了 Batch 帐户和池,创建并运行了 Batch 作业和任务。 你监视了节点和任务状态,并查看了节点的任务输出。

现在你已经了解了 Batch 服务的关键概念,可以将 Batch 用于更现实、更大规模的工作负载了。 若要详细了解 Azure Batch,请继续学习 Azure Batch 教程。