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

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

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

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

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

联系我们寻求帮助

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