Dela via


HPC Pack Excel-avlastningsjobbet har stoppats

Den här artikeln beskriver hur du löser ett Microsoft HPC Pack Excel-avlastningsjobb som har stoppats så att du kan använda en binär Excel-arbetsbok (.xlsb) för att köra ett jobb i ett HPC-kluster (Azure High Performance Computing).

Symptom

Ett exempel på ett HPC Pack Excel-avlastningsjobb fastnar när det körs och Excel rapporterar sessionsrelaterade fel. Rapporten liknar följande feltext:

System.IO.IOException: Hittade oläsligt innehåll i arbetsboken. Kontrollera att <filename.xlsb> kan öppnas manuellt. -->

System.Runtime.InteropServices.COMException: Undantag från HRESULT: 0x800A03EC

på 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)

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

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

--- Slut på spårning av inre undantagsstack ---

Orsak

Du kör inte en Excel-arbetsbok i en interaktiv användarsession på beräkningsnoder.

Lösning

Ange rätt jobbmiljöegenskap i en Excel-tjänstregistreringsfil. Använd miljövariabeln HPC_ATTACHTOSESSION eller HPC_CREATECONSOLE. På så sätt kan tjänstvärdarna köras i en interaktiv användarsession eller -konsol. På huvudnoden finns Excel-tjänstregistreringsfilen i mappen %CCP_HOME%ServiceRegistration i en fil med namnet Microsoft.Hpc.Excel.ExcelService_<version>.config.

Om du vill använda HPC_ATTACHTOSESSION skapar du en RDP-session (Remote Desktop Protocol) för samma RunAs-användare på beräkningsnoderna. Om du vill använda HPC_CREATECONSOLE konfigurerar du beräkningsnoderna med hjälp av registernycklar och startar om noderna innan du kör jobbet.

Vi rekommenderar att du använder konsolen som körs i de flesta scenarier. Detta gäller särskilt om inga interaktiva åtgärder krävs när jobbet körs. När du kör konsolen sparas även det manuella arbetet med att konfigurera RDP efter en omstart av noden. Mer information om detaljerade nodkonfigurationer finns i Köra kommandon på beräkningsnoder för att aktivera funktionen för att skapa konsolen.

Bakgrund

Det finns vanligtvis två lägen som du kan använda för att köra ett Excel-avlastningsjobb. Med de här lägena kan du välja att köra jobbet antingen i en konsol eller i en fjärrskrivbordssession.

  • HPC_CREATECONSOLE: Om du anger den här variabeln skapas en konsolsession automatiskt när jobbet startas. Du kan ange den här variabeln till något av följande värden.

    Värde Effekt
    True HPC Node Manager-tjänsten försöker skapa en konsolsession med jobbägarens autentiseringsuppgifter. Endast en användare per nod kan ha en konsolsession. Om jobbet lyckas körs det i konsolsessionen. Om konsolsessionen inte kan skapas misslyckas jobbet. Node Manager stänger konsolsessionen i slutet av jobbet.
    Keep En ny inloggningskonsolsession skapas om det inte finns någon. Annars kopplar HPC Node Manager-tjänsten jobbet till den befintliga konsolsessionen och konsolsessionen stängs inte när jobbet har slutförts på beräkningsnoderna.
  • HPC_ATTACHTOSESSION: Om du anger den här variabeln startas ett jobb i en befintlig fjärrskrivbordssession. Det här scenariot är användbart om båda följande villkor är uppfyllda:

    • Du har ett interaktivt program som du vill ansluta till sessionen.
    • Du vill fjärrvya programmet medan det körs.

    Du kan ange den här variabeln till något av följande värden.

    Värde Effekt
    True Tjänsten HPC Job Scheduler försöker starta jobbet i en fjärrskrivbordssession. Om det finns en fjärrskrivbordsanslutning som ägs av användaren som skickade jobbet startar jobbet. Om jobbägaren inte äger en fjärrskrivbordssession misslyckas jobbet. Du kan köra kommandot qwinsta i en kommandotolk för att se en lista över sessioner som för närvarande är aktiva på servern.
    Try Jobbet försöker koppla sessionen och körs även om den inte kan kopplas till sessionen.

Jobbmiljövariabler anges inte automatiskt. Därför måste du ange dem i registreringsfilen för Excel-tjänsten. Mer information om avlastningslägen finns i Jobb- eller aktivitetsmiljövariabler för konsol- eller fjärrskrivbordssessioner.

Kontakta oss för att få hjälp

Om du har frågor eller behöver hjälp skapar du en supportförfrågan eller frågar Azure community support. Du kan också skicka produktfeedback till Azure-feedbackcommunityn.