Microsoft MPI 無法連接(RPC 伺服器不可用。)
我有兩台機器都安裝了 MS MPI 7.1,一台稱為 SERVER,另一台稱為 COMPUTE。這些機器在 LAN 上設置在一個簡單的 windows 工作組(無 DA)中,並且都有一個具有相同名稱和密碼的帳戶。
兩者都在執行 MSMPILaunchSvc 服務。兩台機器都可以在本地執行 MPI 作業,通過
hostname
命令測試驗證SERVER> mpiexec -hosts 1 SERVER 1 hostname SERVER or COMPUTE> mpiexec -hosts 1 COMPUTE 1 hostname COMPUTE
在機器本身的終端中。
我已禁用兩台機器上的防火牆以使事情變得更容易。
我的問題是我無法讓 MPI 在遠端主機上從 SERVER 執行作業:
1:帶有 MSMPILaunchSvc 的伺服器 -> 帶有 MSMPILaunchSvc 的計算
SERVER> mpiexec -hosts 1 COMPUTE 1 hostname -pwd ERROR: Failed RpcCliCreateContext error 1722 Aborting: mpiexec on SERVER is unable to connect to the smpd service on COMPUTE:8677 Other MPI error, error stack: connect failed - The RPC server is unavailable. (errno 1722)
這裡更令人沮喪的是,只有有時我會被提示輸入密碼。它建議 SERVER\Maarten 作為 COMPUTE 的使用者,我已經在 SERVER 上登錄的帳戶不應該存在於 COMPUTE 上(那麼應該是 COMPUTE\Maarten 嗎?)。儘管如此,它也失敗了:
SERVER>mpiexec -hosts 1 COMPUTE 1 hostname.exe -pwd Enter Password for SERVER\Maarten: Save Credentials[y|n]? n ERROR: Failed to connect to SMPD Manager Instance error 1726 Aborting: mpiexec on SERVER is unable to connect to the smpd manager on COMPUTE:50915 error 1726
2:使用 MSMPILaunchSvc 計算 -> 使用 MSMPILaunchSvc 的伺服器
COMPUTE> mpiexec -hosts 1 SERVER 1 hostname -pwd ERROR: Failed RpcCliCreateContext error 5 Aborting: mpiexec on COMPUTE is unable to connect to the smpd service on SERVER:8677 Other MPI error, error stack: connect failed - Access is denied. (errno 5)
3: 使用 MSMPILaunchSvc 計算 -> 使用 smpd 守護程序的伺服器
Aborting: mpiexec on COMPUTE is unable to connect to the smpd service on SERVER:8677 Other MPI error, error stack: connect failed - Access is denied. (errno 5)
4: 帶有 MSMPILaunchSvc 的伺服器 -> 帶有 smpd 守護程序的 COMPUTE
ERROR: Failed to connect to SMPD Manager Instance error 1726 Aborting: mpiexec on SERVER is unable to connect to the smpd manager on COMPUTE:51022 error 1726
經過反複試驗,我發現在嘗試執行具有不同配置的 MS MPI(在我的情況下是 HPC Cluster 2008 和 HPC Cluster 2012 與 MSMPI 的混合)時會出現這些和其他非特定錯誤。
解決方案是使用 HPC Cluster 2008 將所有節點降級到 Windows Server 2008 R2。因為我不使用 AD,所以我不得不回退到使用 SMPD 守護程序並為其添加防火牆規則(一起跳過集群管理工具)。