次の方法で共有


HPC Pack Excel オフロード ジョブがストールしている

この記事では、Excel バイナリ ブック (.xlsb) を正常に使用して Azure ハイパフォーマンス コンピューティング (HPC) クラスターでジョブを実行できるように、ストールしている Microsoft HPC Pack Excel オフロード ジョブを解決する方法について説明します。

現象

サンプルの HPC Pack Excel オフロード ジョブは実行中に停止し、Excel はセッション関連のエラーを報告します。 このレポートは、次のエラー テキストのようになります。

System.IO.IOException: ブックに読み取り不可能なコンテンツが見つかりました。 <filename>.xlsb を手動で開くことができることを確認します。 -->

System.Runtime.InteropServices.COMException: HRESULT からの例外: 0x800A03EC

at 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 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)

--- 内部例外スタック トレースの終わり ---

原因

計算ノード上のユーザー対話型セッションで Excel ブックを実行していません。

ソリューション

Excel サービス登録ファイルで正しいジョブ環境プロパティを設定します。 HPC_ATTACHTOSESSIONまたはHPC_CREATECONSOLE環境変数を使用します。 これにより、サービス ホストはユーザーの対話型セッションまたはコンソールで実行できます。 ヘッド ノードでは、Excel サービス登録ファイルは、Microsoft.Hpc.Excel.ExcelService_<version>.config という名前のファイルの%CCP_HOME%ServiceRegistration フォルダーにあります。

HPC_ATTACHTOSESSIONを使用するには、コンピューティング ノードで同じ RunAs ユーザーに対してリモート デスクトップ プロトコル (RDP) セッションを作成します。 HPC_CREATECONSOLEを使用するには、レジストリ キーを使用してコンピューティング ノードを構成し、ジョブを実行する前にノードを再起動します。

ほとんどのシナリオでは、コンソールの実行モードを使用することをお勧めします。 これは、ジョブの実行中に対話型アクションが必要ない場合に特に当てはまります。 また、コンソール実行モードでは、ノードの再起動後に RDP を設定するための手動作業も節約されます。 詳細なノード構成の詳細については、「 コンソールの作成機能を有効にするコンピューティング ノードでコマンドを実行するを参照してください。

背景

通常、Excel オフロード ジョブの実行に使用できるモードは 2 つあります。 これらのモードを使用すると、コンソールまたはリモート デスクトップ セッションでジョブを実行できます。

  • HPC_CREATECONSOLE: この変数を指定すると、ジョブの開始時にコンソール セッションが自動的に作成されます。 この変数は、次のいずれかの値に設定できます。

    効果
    True HPC Node Manager サービスは、ジョブ所有者の資格情報を使用してコンソール セッションを作成しようとします。 コンソール セッションを使用できるのは、ノードごとに 1 人のユーザーだけです。 ジョブが成功すると、コンソール セッションで実行されます。 コンソール セッションを作成できない場合、ジョブは失敗します。 Node Manager は、ジョブの終了時にコンソール セッションを閉じます。
    Keep 存在しない場合は、新しいサインイン コンソール セッションが作成されます。 それ以外の場合、HPC Node Manager サービスはジョブを既存のコンソール セッションにアタッチし、そのコンソール セッションはコンピューティング ノードでジョブが終了した後は閉じられません。
  • HPC_ATTACHTOSESSION: この変数を指定すると、既存のリモート デスクトップ セッションでジョブが開始されます。 このシナリオは、次の両方の条件に該当する場合に役立ちます。

    • セッションに接続する対話型プログラムがあります。
    • 実行中にプログラムをリモートで表示する必要があります。

    この変数は、次のいずれかの値に設定できます。

    効果
    True HPC ジョブ スケジューラ サービスは、リモート デスクトップ セッションでジョブを開始しようとします。 ジョブを送信したユーザーが所有するリモート デスクトップ接続がある場合は、ジョブが開始されます。 ジョブ所有者がリモート デスクトップ セッションを所有していない場合、ジョブは失敗します。 コマンド プロンプトで qwinsta コマンドを実行して、サーバーで現在アクティブなセッションの一覧を表示できます。
    Try ジョブはセッションのアタッチを試み、セッションにアタッチできない場合でも実行されます。

ジョブ環境変数は自動的に設定されません。 そのため、Excel サービス登録ファイルで設定する必要があります。 オフロード実行モードの詳細については、「コンソールまたはリモート デスクトップ セッションの ジョブまたはタスク環境変数を参照してください。

お問い合わせはこちらから

質問がある場合やヘルプが必要な場合は、サポート要求を作成するか、Azure コミュニティ サポートにお問い合わせください。 Azure フィードバック コミュニティに製品フィードバックを送信することもできます。