Compartilhar via


O trabalho de descarregamento do HPC Pack Excel está parado

Este artigo discute como resolver um trabalho de descarregamento do Microsoft HPC Pack Excel que está parado para que você possa usar com êxito uma pasta de trabalho binária do Excel (.xlsb) para executar um trabalho em um cluster de HPC (computação de alto desempenho) do Azure.

Sintomas

Um exemplo de trabalho de descarregamento do HPC Pack Excel fica preso durante a execução e o Excel relata erros relacionados à sessão. O relatório é semelhante ao seguinte texto de erro:

System.IO.IOException: conteúdo ilegível encontrado na pasta de trabalho. Verifique se <filename.xlsb> pode ser aberto manualmente. -->

System.Runtime.InteropServices.COMException: exceção de HRESULT: 0x800A03EC

em Microsoft.Office.Interop.Excel.Workbooks.Open (nome do arquivo de string, UpdateLinks de objeto, Objeto ReadOnly, formato de objeto, senha de objeto, WriteResPassword de objeto, IgnoreReadOnlyRecommended de objeto, origem do objeto, delimitador de objeto, editável de objeto, notificação de objeto, conversor de objeto, AddToMru de objeto, local de objeto, CorruptLoad de objeto)

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

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

--- fim do rastreamento de pilha de exceção interna ---

Motivo

Você não está executando uma pasta de trabalho do Excel em uma sessão interativa do usuário em nós de computação.

Solução

Defina a propriedade de ambiente de trabalho correta em um arquivo de registro de serviço do Excel. Use a variável de ambiente HPC_ATTACHTOSESSION ou HPC_CREATECONSOLE. Isso permite que os hosts de serviço sejam executados em uma sessão interativa do usuário ou console. No nó principal, o arquivo de registro do serviço do Excel está na pasta %CCP_HOME%ServiceRegistration em um arquivo chamado Microsoft.Hpc.Excel.ExcelService_<version.config>.

Para usar HPC_ATTACHTOSESSION, crie uma sessão RDP (Remote Desktop Protocol) para o mesmo usuário RunAs nos nós de computação. Para usar o HPC_CREATECONSOLE, configure os nós de computação usando chaves do Registro e reinicie os nós antes de executar o trabalho.

Recomendamos que você use o modo de execução do console na maioria dos cenários. Isso é especialmente verdadeiro se nenhuma ação interativa for necessária enquanto o trabalho estiver em execução. O modo de execução do console também economiza o esforço manual para configurar o RDP após a reinicialização de um nó. Para obter mais informações sobre configurações detalhadas de nós, consulte Executar comandos em nós de computação para habilitar a funcionalidade de criação de console.

Tela de fundo

Normalmente, há dois modos que você pode usar para executar um trabalho de descarregamento do Excel. Esses modos permitem que você opte por executar seu trabalho em um console ou em uma sessão de área de trabalho remota.

  • HPC_CREATECONSOLE: Especificar essa variável faz com que uma sessão de console seja criada automaticamente quando o trabalho é iniciado. Você pode definir essa variável como um dos valores a seguir.

    Valor Efeito
    True O serviço HPC Node Manager tenta criar uma sessão de console usando as credenciais do proprietário do trabalho. Apenas um usuário por nó pode ter uma sessão de console. Se o trabalho for bem-sucedido, ele será executado na sessão do console. Se a sessão do console não puder ser criada, o trabalho falhará. O Gerenciador de nós fecha a sessão do console no final do trabalho.
    Keep Uma nova sessão de console de entrada será criada se não houver nenhuma. Caso contrário, o serviço HPC Node Manager anexará o trabalho à sessão de console existente e essa sessão de console não será fechada após a conclusão do trabalho nos nós de computação.
  • HPC_ATTACHTOSESSION: Especificar essa variável inicia um trabalho em uma sessão de área de trabalho remota existente. Esse cenário será útil se ambas as condições a seguir forem verdadeiras:

    • Você tem um programa interativo que deseja conectar à sessão.
    • Você deseja visualizar remotamente o programa enquanto ele está em execução.

    Você pode definir essa variável como um dos valores a seguir.

    Valor Efeito
    True O serviço HPC Job Scheduler tenta iniciar o trabalho em uma sessão de área de trabalho remota. Se houver uma conexão de área de trabalho remota que pertença ao usuário que enviou o trabalho, o trabalho será iniciado. Se o proprietário do trabalho não tiver uma sessão de área de trabalho remota, o trabalho falhará. Você pode executar o comando qwinsta em um prompt de comando para ver uma lista de sessões que estão ativas no momento em seu servidor.
    Try O trabalho tenta anexar a sessão e é executado mesmo que não possa ser anexado à sessão.

As variáveis de ambiente de trabalho não são definidas automaticamente. Portanto, você deve configurá-los no arquivo de registro do serviço Excel. Para obter mais informações sobre modos de execução de descarregamento, consulte Variáveis de ambiente de trabalho ou tarefa para sessões de console ou área de trabalho remota.

Entre em contato conosco para obter ajuda

Se você tiver dúvidas ou precisar de ajuda, crie uma solicitação de suporte ou peça ajuda à comunidade de suporte do Azure. Você também pode enviar comentários sobre o produto para a comunidade de comentários do Azure.