HpC Pack Excel-offloadtaak is vastgelopen
In dit artikel wordt beschreven hoe u een Microsoft HPC Pack Excel-offloadingtaak kunt oplossen die vastloopt, zodat u een binaire Excel-werkmap (.xlsb) kunt gebruiken om een taak uit te voeren in een HPC-cluster (High Performance Computing) van Azure.
Symptomen
Een voorbeeld van een HPC Pack Excel-offloadtaak loopt vast terwijl deze wordt uitgevoerd en Excel rapporteert sessiegerelateerde fouten. Het rapport lijkt op de volgende fouttekst:
System.IO.IOException: Onleesbare inhoud in werkmap gevonden. Controleer <of bestandsnaam.xlsb> handmatig kan worden geopend. -->
System.Runtime.InteropServices.COMException: Uitzondering van HRESULT: 0x800A03EC
at Microsoft.Office.Interop.Excel.Workbooks.Open(String Bestandsnaam, Object UpdateLinks, Object ReadOnly, Object Format, Object Password, Object WriteResPassword, Object IgnoreReadOnlyRecommended, Object Origin, Object Delimiter, Object Bewerkbaar, 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)
--- einde van de --- van de interne uitzonderingsstack
Oorzaak
U voert geen Excel-werkmap uit in een interactieve gebruikerssessie op rekenknooppunten.
Oplossing
Stel de juiste taakomgevingeigenschap in een Excel-serviceregistratiebestand in. Gebruik de omgevingsvariabele HPC_ATTACHTOSESSION of HPC_CREATECONSOLE. Hierdoor kunnen de servicehosts worden uitgevoerd in een interactieve sessie of console van de gebruiker. Op het hoofdknooppunt bevindt het registratiebestand van de Excel-service zich in de map %CCP_HOME%ServiceRegistration in een bestand met de naam Microsoft.Hpc.Excel.ExcelService_<version>.config.
Als u HPC_ATTACHTOSESSION wilt gebruiken, maakt u een RDP-sessie (Remote Desktop Protocol) voor dezelfde RunAs-gebruiker op de rekenknooppunten. Als u HPC_CREATECONSOLE wilt gebruiken, configureert u de rekenknooppunten met behulp van registersleutels en start u de knooppunten opnieuw op voordat u de taak uitvoert.
We raden u aan om in de meeste scenario's de actieve consolemodus te gebruiken. Dit geldt met name als er geen interactieve acties nodig zijn terwijl de taak wordt uitgevoerd. De modus voor het uitvoeren van de console bespaart u ook de handmatige moeite om RDP in te stellen nadat het knooppunt opnieuw is opgestart. Zie Opdrachten uitvoeren op rekenknooppunten om de consolefunctionaliteit in te schakelen voor meer informatie over gedetailleerde knooppuntconfiguraties.
Achtergrond
Meestal zijn er twee modi die u kunt gebruiken om een Excel-offloadtaak uit te voeren. Met deze modi kunt u ervoor kiezen om uw taak uit te voeren in een console of in een extern bureaublad-sessie.
HPC_CREATECONSOLE: als u deze variabele opgeeft, wordt er automatisch een consolesessie gemaakt wanneer de taak wordt gestart. U kunt deze variabele instellen op een van de volgende waarden.
Waarde Effect True
De HPC Node Manager-service probeert een consolesessie te maken met behulp van de referenties van de eigenaar van de taak. Slechts één gebruiker per knooppunt kan een consolesessie hebben. Als de taak is geslaagd, wordt deze uitgevoerd in de consolesessie. Als de consolesessie niet kan worden gemaakt, mislukt de taak. Node Manager sluit de consolesessie aan het einde van de taak. Keep
Er wordt een nieuwe aanmeldingsconsolesessie gemaakt als er geen sessie bestaat. Anders koppelt de HPC Node Manager-service de taak aan de bestaande consolesessie en wordt die consolesessie niet gesloten nadat de taak is voltooid op de rekenknooppunten. HPC_ATTACHTOSESSION: als u deze variabele opgeeft, wordt een taak gestart in een bestaande extern bureaublad-sessie. Dit scenario is handig als aan beide van de volgende voorwaarden wordt voldaan:
- U hebt een interactief programma dat u wilt verbinden met de sessie.
- U wilt het programma op afstand bekijken terwijl het wordt uitgevoerd.
U kunt deze variabele instellen op een van de volgende waarden.
Waarde Effect True
De HPC Job Scheduler-service probeert de taak te starten in een extern bureaublad-sessie. Als er een verbinding met extern bureaublad is die eigendom is van de gebruiker die de taak heeft ingediend, wordt de taak gestart. Als de eigenaar van de taak geen extern bureaublad-sessie heeft, mislukt de taak. U kunt de opdracht qwinsta uitvoeren bij een opdrachtprompt om een lijst met sessies te zien die momenteel actief zijn op uw server. Try
De taak probeert de sessie te koppelen en wordt uitgevoerd, zelfs als deze niet aan de sessie kan worden gekoppeld.
Taakomgevingsvariabelen worden niet automatisch ingesteld. Daarom moet u ze instellen in het registratiebestand van de Excel-service. Zie Omgevingsvariabelen voor taken of taken voor console- of extern bureaublad-sessies voor meer informatie over offloadmodussen.
Contacteer ons voor hulp
Als u vragen hebt of hulp nodig hebt, maak een ondersteuningsaanvraag of vraag de Azure-communityondersteuning. U kunt ook productfeedback verzenden naar de Feedback-community van Azure.