Поделиться через


Задание разгрузки пакета HPC в Excel остановлено

В этой статье описывается, как устранить задание разгрузки Microsoft HPC Pack Excel, которое застопорилось, чтобы вы могли успешно использовать двоичную книгу Excel (XLSB) для запуска задания в кластере высокопроизводительных вычислений Azure (HPC).

Симптомы

Пример задания разгрузки пакета HPC Excel зависает во время его выполнения, и Excel сообщает об ошибках, связанных с сеансами. Отчет похож на следующий текст ошибки:

System.IO.IOException: найдено нечитаемое содержимое в книге. Убедитесь, что <файлname.xlsb> можно открыть вручную. -->

System.Runtime.InteropServices.COMException: исключение из HRESULT: 0x800A03EC

at Microsoft.Office.Interop.Excel.Workbooks.Open(String Filename, Object UpdateLinks, Object ReadOnly, Object ReadOnly, Object Format, Object WriteResPassword, Object IgnoreReadOnlyReible, 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 находится в папке %CCP_HOME%ServiceRegistration в файле с именем Microsoft.Hpc.Excel.ExcelService_<version.config>.

Чтобы использовать HPC_ATTACHTOSESSION, создайте сеанс протокола удаленного рабочего стола (RDP) для того же пользователя RunAs на вычислительных узлах. Чтобы использовать HPC_CREATECONSOLE, настройте вычислительные узлы с помощью разделов реестра и перезапустите узлы перед запуском задания.

Рекомендуется использовать режим работы консоли в большинстве сценариев. Это особенно верно, если интерактивные действия не необходимы во время выполнения задания. В режиме выполнения консоли также сохраняется ручное усилие по настройке RDP после перезапуска узла. Дополнительные сведения о подробных конфигурациях узлов см. в разделе "Выполнение команд на вычислительных узлах", чтобы включить функциональность консоли.

Общие сведения

Как правило, существует два режима, которые можно использовать для запуска задания разгрузки Excel. Эти режимы позволяют запускать задание в консоли или в сеансе удаленного рабочего стола.

  • HPC_CREATECONSOLE. Указание этой переменной приводит к автоматическому созданию сеанса консоли при запуске задания. Эту переменную можно задать для одного из следующих значений.

    Значение Действие
    True Служба диспетчера узлов HPC пытается создать сеанс консоли с помощью учетных данных владельца задания. Только один пользователь на узел может иметь сеанс консоли. Если задание выполнено успешно, он выполняется в сеансе консоли. Если не удается создать сеанс консоли, задание завершается сбоем. Диспетчер узлов закрывает сеанс консоли в конце задания.
    Keep При наличии нового сеанса консоли входа создается новый сеанс консоли входа. В противном случае служба HPC Node Manager присоединяет задание к существующему сеансу консоли, и этот сеанс консоли не закрывается после завершения задания на вычислительных узлах.
  • HPC_ATTACHTOSESSION. Указание этой переменной запускает задание в существующем сеансе удаленного рабочего стола. Этот сценарий полезен, если оба из следующих условий являются верными:

    • У вас есть интерактивная программа, которую вы хотите подключить к сеансу.
    • Вы хотите удаленно просмотреть программу во время ее работы.

    Эту переменную можно задать для одного из следующих значений.

    Значение Действие
    True Служба планировщика заданий HPC пытается запустить задание в сеансе удаленного рабочего стола. Если есть подключение к удаленному рабочему столу, принадлежащее пользователю, отправившему задание, запускается задание. Если владелец задания не владеет сеансом удаленного рабочего стола, задание завершается ошибкой. Вы можете запустить команду qwinsta в командной строке, чтобы просмотреть список сеансов, которые сейчас активны на сервере.
    Try Задание пытается подключить сеанс и запустить его, даже если он не может присоединиться к сеансу.

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

Свяжитесь с нами для получения помощи

Если у вас есть вопросы или вам нужна помощь, создайте запрос в службу поддержки или обратитесь за поддержкой сообщества Azure. Вы также можете отправить отзыв о продукте в сообщество отзывов Azure.