HPC Pack Excel 卸载作业已停止

本文讨论如何解决已停止的 Microsoft HPC Pack Excel 卸载 作业,以便成功使用 Excel 二进制工作簿 (.xlsb) 在 Azure 高性能计算 (HPC) 群集中运行作业。

症状

示例 HPC Pack Excel 卸载作业在运行时停滞不前,Excel 报告与会话相关的错误。 报告类似于以下错误文本:

System.IO.IOException:在工作簿中发现不可读的内容。 验证 <是否可以手动打开 filename.xlsb>。 -->

System.Runtime.InteropServices.COMException:来自 HRESULT 的异常:0x800A03EC

at Microsoft.Office.Interop.Excel.Workbooks.Open (String Filename, Object UpdateLinks, Object ReadOnly, Object Format, Object Password, Object WriteResPassword, Object IgnoreReadOnlyRecommended, Object Origin, Object Delimiter, Object Editable, Object Notify, Object Converter, Object AddToMru, Object Local, Object CorruptLoad)

at Microsoft.Hpc.Excel.ExcelDriver.OpenWorkbookInternal (String filePath, Boolean updateLinks, Boolean enableMacros, String password, String writeResPassword, Nullable'1 lastSaveDate)

at Microsoft.Hpc.Excel.ExcelDriver.OpenWorkbook (String filePath, Boolean updateLinks, String password, String writeResPassword, Nullable'1 lastSaveDate)

---内部异常堆栈跟踪---结束

原因

未在计算节点上的用户交互式会话中运行 Excel 工作簿。

解决方案

在 Excel 服务注册文件中设置正确的作业环境属性。 使用 HPC_ATTACHTOSESSION 或 HPC_CREATECONSOLE 环境变量。 这允许服务主机在用户交互式会话或控制台中运行。 在头节点上,Excel 服务注册文件位于名为 Microsoft.Hpc.Excel.ExcelService_version>.config<的文件的 %CCP_HOME%ServiceRegistration 文件夹中。

若要使用HPC_ATTACHTOSESSION,请在计算节点上为同一 RunAs 用户创建远程桌面协议 (RDP) 会话。 若要使用HPC_CREATECONSOLE,请使用注册表项配置计算节点,并在运行作业之前重启节点。

建议在大多数情况下使用控制台运行模式。 如果在作业运行时不需要任何交互式操作,则尤其如此。 控制台运行模式还可以节省在节点重启后手动设置 RDP 的工作量。 有关详细节点配置的详细信息,请参阅 在计算节点上运行命令以启用创建控制台功能

背景

通常,有两种模式可用于运行 Excel 卸载作业。 这些模式允许你选择在控制台或远程桌面会话中运行作业。

  • HPC_CREATECONSOLE:指定此变量会导致在作业启动时自动创建控制台会话。 可以将此变量设置为以下值之一。

    作用
    True HPC 节点管理器服务尝试使用作业所有者的凭据创建控制台会话。 每个节点只能有一个用户拥有控制台会话。 如果作业成功,它将在控制台会话中运行。 如果无法创建控制台会话,作业将失败。 节点管理器在作业结束时关闭控制台会话。
    Keep 如果没有登录控制台会话,则会创建新的登录控制台会话。 否则,HPC 节点管理器服务会将作业附加到现有控制台会话,并且该控制台会话在计算节点上完成作业后不会关闭。
  • HPC_ATTACHTOSESSION:指定此变量会在现有远程桌面会话中启动作业。 如果满足以下两个条件,则此方案非常有用:

    • 你有一个要连接到会话的交互式程序。
    • 你想要在程序运行时远程查看它。

    可以将此变量设置为以下值之一。

    作用
    True HPC 作业计划程序服务尝试在远程桌面会话中启动作业。 如果存在提交作业的用户拥有的远程桌面连接,则作业将启动。 如果作业所有者不拥有远程桌面会话,则作业将失败。 可以在命令提示符下运行 qwinsta 命令,以查看服务器上当前处于活动状态的会话列表。
    Try 作业尝试附加会话并运行,即使它无法附加到会话。

作业环境变量不会自动设置。 因此,必须在 Excel 服务注册文件中设置它们。 有关卸载运行模式的详细信息,请参阅 控制台或远程桌面会话的作业或任务环境变量

联系我们寻求帮助

如果你有任何疑问或需要帮助,请创建支持请求联系 Azure 社区支持。 还可以向 Azure 反馈社区提交产品反馈。