Le travail de déchargement HPC Pack Excel est bloqué
Cet article explique comment résoudre un travail de déchargement Microsoft HPC Pack Excel bloqué afin de pouvoir utiliser un classeur binaire Excel (.xlsb) Excel pour exécuter un travail dans un cluster HPC (High-Performance Computing) Azure.
Symptômes
Un exemple de travail de déchargement Excel HPC Pack est bloqué pendant son exécution et Excel signale des erreurs liées à la session. Le rapport ressemble au texte d’erreur suivant :
System.IO.IOException : Contenu non lisible trouvé dans le classeur. Vérifiez que <filename.xlsb> peut être ouvert manuellement. -->
System.Runtime.InteropServices.COMException : Exception de HRESULT : 0x800A03EC
sur 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)
at Microsoft.Hpc.Excel.ExcelDriver.OpenWorkbookInternal(String filePath, Boolean updateLinks, Boolean enableMacros, String password, String writeResPassword, Nullable'1 lastSaveDate)
sur Microsoft.Hpc.Excel.ExcelDriver.OpenWorkbook(String filePath, Boolean updateLinks, String password, String writeResPassword, Nullable'1 lastSaveDate)
--- Fin du suivi de la pile d’exceptions interne ---
Cause
Vous n’exécutez pas de classeur Excel dans une session interactive utilisateur sur des nœuds de calcul.
Solution
Définissez la propriété d’environnement de travail correcte dans un fichier d’inscription de service Excel. Utilisez la variable d’environnement HPC_ATTACHTOSESSION ou HPC_CREATECONSOLE. Ainsi, les hôtes de service s’exécutent dans une session ou une console interactive utilisateur. Sur le nœud principal, le fichier d’inscription du service Excel se trouve dans le dossier %CCP_HOME%ServiceRegistration dans un fichier nommé Microsoft.Hpc.Excel.ExcelService_<version.config>.
Pour utiliser HPC_ATTACHTOSESSION, créez une session RDP (Remote Desktop Protocol) pour le même utilisateur RunAs sur les nœuds de calcul. Pour utiliser HPC_CREATECONSOLE, configurez les nœuds de calcul à l’aide de clés de Registre et redémarrez les nœuds avant d’exécuter le travail.
Nous vous recommandons d’utiliser le mode d’exécution de la console dans la plupart des scénarios. Cela est particulièrement vrai si aucune action interactive n’est nécessaire pendant l’exécution du travail. Le mode d’exécution de la console vous enregistre également l’effort manuel de configuration du protocole RDP après le redémarrage d’un nœud. Pour plus d’informations sur les configurations détaillées des nœuds, consultez Exécuter des commandes sur des nœuds de calcul pour activer la fonctionnalité de création de console.
Background
En règle générale, il existe deux modes que vous pouvez utiliser pour exécuter un travail de déchargement Excel. Ces modes vous permettent d’exécuter votre travail dans une console ou dans une session Bureau à distance.
HPC_CREATECONSOLE : la spécification de cette variable entraîne la création automatique d’une session de console au démarrage du travail. Vous pouvez définir cette variable sur l’une des valeurs suivantes.
Valeur Effet True
Le service HPC Node Manager tente de créer une session de console à l’aide des informations d’identification du propriétaire du travail. Un seul utilisateur par nœud peut avoir une session de console. Si le travail réussit, il s’exécute dans la session de console. Si la session de console ne peut pas être créée, le travail échoue. Le Gestionnaire de nœuds ferme la session de console à la fin du travail. Keep
Une nouvelle session de console de connexion est créée s’il n’existe aucun. Sinon, le service HPC Node Manager attache le travail à la session de console existante et cette session de console n’est pas fermée une fois le travail terminé sur les nœuds de calcul. HPC_ATTACHTOSESSION : la spécification de cette variable démarre un travail dans une session Bureau à distance existante. Ce scénario est utile si les deux conditions suivantes sont remplies :
- Vous disposez d’un programme interactif que vous souhaitez connecter à la session.
- Vous souhaitez afficher à distance le programme pendant son exécution.
Vous pouvez définir cette variable sur l’une des valeurs suivantes.
Valeur Effet True
Le service HpC Job Scheduler tente de démarrer le travail dans une session Bureau à distance. S’il existe une connexion Bureau à distance appartenant à l’utilisateur qui a envoyé le travail, le travail démarre. Si le propriétaire du travail ne possède pas de session Bureau à distance, le travail échoue. Vous pouvez exécuter la commande qwinsta à l’invite de commandes pour afficher la liste des sessions actuellement actives sur votre serveur. Try
Le travail tente d’attacher la session et s’exécute même s’il ne peut pas l’attacher à la session.
Les variables d’environnement de travail ne sont pas définies automatiquement. Par conséquent, vous devez les définir dans le fichier d’inscription du service Excel. Pour plus d’informations sur le déchargement des modes d’exécution, consultez les variables d’environnement de travail ou de tâche pour les sessions console ou Bureau à distance.
Contactez-nous pour obtenir de l’aide
Pour toute demande ou assistance, créez une demande de support ou posez une question au support de la communauté Azure. Vous pouvez également soumettre des commentaires sur les produits à la communauté de commentaires Azure.