HPC Pack Mesos 集成分步

介绍 HPC Pack Mesos 框架

HPC Pack Mesos 框架是 Mesos 计划程序框架,它接受 Mesos 主服务器提供的套餐,并为现有的 HPC Pack 群集生成 HPC Pack 计算节点。 借助 HPC Pack Mesos 框架,现有 Mesos 群集可以管理Microsoft HPC Pack 群集的资源分配,从而提高资源利用率。 HPC Pack Mesos 框架:

  • 借用 Mesos 群集的 HPC Pack 计算节点(如果)
    • HPC Pack 具有排队任务所需的更多资源
    • Mesos 群集具有 HPC Pack 的可用资源
  • 如果为 Mesos 群集,则返回 HPC Pack 计算节点
    • 节点在 Mesos 框架外达到空闲时间

先决条件

  1. Mesos 群集已生成并正确配置。 请参阅 Mesos 入门
  2. HPC Pack 2016 Update 2 或更高版本安装在已加入域的 HPC 头节点上。
  3. Mesos 群集中已加入域的 Windows Server 节点,稍后将充当 HPC Pack 计算节点(“Mesos 计算节点”)。
  4. 在节点上 python 2.7pipenv,该节点将托管 HPC Pack Mesos 框架“Mesos 框架节点”)。

设置 HPC Pack Mesos 框架

  1. Mesos 框架节点上,克隆存储库并安装所有依赖项
git clone https://github.com/Azure/hpcpack-mesos.git
cd hpcpack-mesos
pipenv install
  1. hpcpack-mesos 文件夹中的 daemon.ps1setupscript.ps1 复制到 Mesos 计算节点(推荐)上的本地文件夹,或从 Mesos 计算节点访问共享文件夹。

    注意:如果这两个脚本放在共享文件夹中,可能需要将 powerShell 执行策略 更改为 不受限制的。 请参阅 关于执行策略

  2. 在提升的命令提示符下,使用以下参数在 Mesos 计算节点 上启动 mesos-agent.exe

    --attributes=os:windows_server;cores:<core_number>[;node_group:<node_group_name>] --hostname=<hostname>
    

    参数详细信息:

    名字 描述
    core_number 当前节点上的最大核心数 8
    node_group_name (可选) 节点组当前 HPC Pack Mesos 框架 实例应尝试将节点增长到 NodeGroup1
    hostname 当前节点的主机名 IaaSCN000

    默认节点组的完整示例:

    --attributes=os:windows_server;cores:8 --hostname=IaaSCN000
    

    节点组 NodeGroup1的完整示例:

    --attributes=os:windows_server;cores:8;node_group:NodeGroup1 --hostname=IaaSCN000
    
  3. 获取从 HPC 群集管理员安装 HPC Pack 头节点和计算节点时选择的 .pfx 证书文件。使用 OpenSSL.pfx 文件转换为 .pem 文件,稍后我们将使用该文件:

    openssl pkcs12 -in file.pfx -out file.pem -nodes
    
  4. Mesos 框架节点 上启动 HPC Pack Mesos 框架

pipenv run python hpcframework.py [-h][-g NODE_GROUP] script_path setup_path headnode ssl_thumbprint client_cert

位置参数详细信息:

名字 描述
script_path HPC Pack Mesos 从属安装脚本的路径
setup_path HPC Pack 安装程序可执行文件的路径
headnode HPC Pack 群集头节点的主机名
ssl_thumbprint 证书指纹,该指纹将用于与 HPC Pack 群集的安装和通信
client_cert 用于 HPC 管理 REST API 身份验证的客户端证书的 .pem 文件。 在 步骤 4中生成。

可选参数详细信息: |名称 |说明 | |-------------------------------------- |------------------------------------------------------- | |-h |显示脚本帮助信息 | |-g NODE_GROUP --node_group NODE_GROUP |需要在其中执行增长收缩的节点组。 |完整示例:

pipenv run python hpcframework.py "setupscript.ps1" "setup.exe" "hpcheadnode" "0386B1198B956BBAAA4154153B6CA1F44B6D1016" "HPC2016Comm.pem"

验证 HPC Pack Mesos 框架

若要验证 HPC Pack Mesos 框架是否已正确设置,请执行以下步骤:

  1. 查找 Mesos 框架将增长计算节点的节点组。
  2. 使该节点组中的所有节点脱机。
  3. 提交需要在指定节点组上运行的作业。
  4. 如果有 Mesos 产品/服务可用,HPC Pack 计算节点将在几分钟内首次加入群集。
  5. 群集在为作业设置足够大后,它将启动工作负荷。
  6. 完成该节点上的所有作业后,该节点将在空闲 3 分钟后返回到 Mesos 群集。

参考

HPC Pack Mesos 框架项目主页