El trabajo de descarga de Excel de HPC Pack está detenido
En este artículo se describe cómo resolver un trabajo de descarga de Excel de Microsoft HPC Pack que está detenido para que pueda usar correctamente un libro binario de Excel (.xlsb) para ejecutar un trabajo en un clúster de informática de alto rendimiento (HPC) de Azure.
Síntomas
Un trabajo de descarga de Excel de HPC Pack de ejemplo se bloquea mientras se ejecuta y Excel notifica errores relacionados con la sesión. El informe es similar al texto de error siguiente:
System.IO.IOException: se encontró contenido no legible en el libro. Compruebe que <filename.xlsb> se puede abrir manualmente. -->
System.Runtime.InteropServices.COMException: Excepción de HRESULT: 0x800A03EC
en 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)
en 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)
--- Fin del seguimiento de la pila de excepción interna ---
Causa
No está ejecutando un libro de Excel en una sesión interactiva de usuario en nodos de proceso.
Solución
Establezca la propiedad de entorno de trabajo correcta en un archivo de registro del servicio de Excel. Use la variable de entorno HPC_ATTACHTOSESSION o HPC_CREATECONSOLE. Esto permite que los hosts de servicio se ejecuten en una sesión o consola interactiva del usuario. En el nodo principal, el archivo de registro del servicio de Excel se encuentra en la carpeta %CCP_HOME%ServiceRegistration de un archivo denominado Microsoft.Hpc.Excel.ExcelService_<version.config>.
Para usar HPC_ATTACHTOSESSION, cree una sesión de Protocolo de escritorio remoto (RDP) para el mismo usuario RunAs en los nodos de proceso. Para usar HPC_CREATECONSOLE, configure los nodos de proceso mediante claves del Registro y reinicie los nodos antes de ejecutar el trabajo.
Se recomienda usar el modo de ejecución de la consola en la mayoría de los escenarios. Esto es especialmente cierto si no se necesitan acciones interactivas mientras se ejecuta el trabajo. El modo en ejecución de la consola también le ahorra el esfuerzo manual para configurar RDP después de reiniciar un nodo. Para obtener más información sobre las configuraciones de nodo detalladas, consulte Ejecución de comandos en nodos de proceso para habilitar la funcionalidad de creación de la consola.
Fondo
Normalmente, hay dos modos que puede usar para ejecutar un trabajo de descarga de Excel. Estos modos permiten elegir ejecutar el trabajo en una consola o en una sesión de Escritorio remoto.
HPC_CREATECONSOLE: al especificar esta variable, se crea automáticamente una sesión de consola cuando se inicia el trabajo. Puede establecer esta variable en uno de los valores siguientes.
Valor Efecto True
El servicio Administrador de nodos de HPC intenta crear una sesión de consola mediante las credenciales del propietario del trabajo. Solo un usuario por nodo puede tener una sesión de consola. Si el trabajo se ejecuta correctamente, se ejecuta en la sesión de consola. Si no se puede crear la sesión de consola, se produce un error en el trabajo. El Administrador de nodos cierra la sesión de consola al final del trabajo. Keep
Se crea una nueva sesión de consola de inicio de sesión si no existe ninguna. De lo contrario, el servicio administrador de nodos de HPC adjunta el trabajo a la sesión de consola existente y esa sesión de consola no se cierra después de que el trabajo finalice en los nodos de proceso. HPC_ATTACHTOSESSION: al especificar esta variable se inicia un trabajo en una sesión de Escritorio remoto existente. Este escenario es útil si se cumplen las dos condiciones siguientes:
- Tiene un programa interactivo que desea conectarse a la sesión.
- Quiere ver de forma remota el programa mientras se ejecuta.
Puede establecer esta variable en uno de los valores siguientes.
Valor Efecto True
El servicio Programador de trabajos de HPC intenta iniciar el trabajo en una sesión de Escritorio remoto. Si hay una conexión de Escritorio remoto que pertenece al usuario que envió el trabajo, se inicia el trabajo. Si el propietario del trabajo no es propietario de una sesión de Escritorio remoto, se produce un error en el trabajo. Puede ejecutar el comando qwinsta en un símbolo del sistema para ver una lista de sesiones que están actualmente activas en el servidor. Try
El trabajo intenta adjuntar la sesión y se ejecuta incluso si no se puede adjuntar a la sesión.
Las variables de entorno de trabajo no se establecen automáticamente. Por lo tanto, debe establecerlos en el archivo de registro del servicio de Excel. Para obtener más información sobre la descarga de modos de ejecución, consulte Variables de entorno de trabajo o tareas para sesiones de consola o escritorio remoto.
Ponte en contacto con nosotros para obtener ayuda
Si tiene preguntas o necesita ayuda, cree una solicitud de soporte o busque consejo en la comunidad de Azure. También puede enviar comentarios sobre el producto con los comentarios de la comunidad de Azure.