clusrun
在多個節點上執行指定的命令,並將指定命令的所有實例輸出重新導向至您執行 clusrun 命令的節點。
如需如何使用此指令的範例,請參閱 範例。
語法
clusrun [/all] [/env:<variable_and_value_list>] [/exclude:<node_list>]
[/interleaved] [{/job:<jobID> | /nodegroup:<node_group> |
/nodes:<node_list> | /task:<jobID>.<taskID>[.<subtaskID>] |
/template:<job_template_name> }] [{/nodestate:<node_state> |
/pausednodes | /readynodes}] [/outputdir:<directory>]
[/password:{<password>|*}] [/scheduler:<name>] [/sorted]
[/spooldir:<directory>] [/stdin:[<path>\]<file_name>]
[/task:<JobID>.<TaskId>[.<subtaskID>]]
[/user:[<domain>\]<user_name>]] [/workdir:<folder>]
<command> [<arguments>]
clusrun {/? | /help}
參數
參數 | 描述 |
---|---|
/都 | 在 HPC 叢集中的所有節點上執行 命令。 |
/env:<variable_and_value_list> | 指定要在命令運行時間環境中設定的環境變數清單,以及要指派給這些環境變數的值。 清單的格式應該是 <variable_name1>=<value1> [;<variable_name2>=<value2>...]。或者,您可以藉由包含多個 /env 參數來設定多個環境變數,每個參數都有不同的自變數,其格式為 <variable_name>=<值>。 若要取消設定環境變數,請勿指定值。 例如,“<variable_to_unset_name>=”。 |
/exclude:<node_list> | 使用 <node1_name>[,<node2_name>...] 格式,指定您不想執行命令的其中一個節點清單。您可以使用 /exclude 參數搭配其他參數,間接指定多個節點來消除特定節點。 例如,如果您的 HPC 叢集包含名為 computenode1、computenode2 和 computenode3 的節點,您可以使用 /exclude:computenode2 和 /nodes:compute* 選項,以指定命令應該在 computenode1 和 computenode3 上執行。 |
/交錯 | 將不同節點的命令輸出顯示為單一清單,其中每一行都會加上產生輸出行之節點名稱的標籤,以及可以交錯來自不同節點的輸出行。 |
/job:<jobID> | 指定作業的識別碼,其狀態為 [執行中]、[已完成]、[失敗] 或 [已取消],且已配置您要執行命令的節點。 如果您指定 /job 參數,clusrun 在 HPC 作業排程器服務配置給指定作業的相同節點上執行 命令。 作業必須是先前配置節點的作業。 如果您也指定 /nodegroup、/nodes、/task或 /template 參數,則您無法指定 /job 參數。 |
/nodegroup:<node_group> | 指定包含您要執行命令之節點的節點群組。 如果您也指定 /job、/nodes、/task或 /template 參數,則您無法指定 /nodegroup 參數。 |
/nodes:<node_list> | 使用 <node1_name>[,<node2_name>...] 格式,指定要執行命令的其中一個節點清單。您可以使用星號 \ 作為通配符。 例如,如果您指定 /node:compnode1*,命令會在名稱開頭為 compnode1 的所有節點上執行,例如 compnode10、compnode15、compnode126 和 compnode1158。 如果您也指定 |
/task:<jobID>。<taskID>[.<subtaskID>] | 指定工作或子工作的標識碼,其狀態為 [執行中]、[已完成]、[失敗] 或 [已取消],且已配置您要執行命令的節點。 如果您指定 /task 參數,clusrun 在 HPC 作業排程器服務配置給指定工作或子工作的相同節點上執行命令。 工作或子工作必須是先前配置節點的工作或子工作。 對於參數式工作,您必須指定子工作,而不是工作。 如果您同時 指定 /job、/nodegroup、/nodes或 /template 參數,則您無法指定 /task 參數。 |
/template:<job_template_name> | 指定作業範本的名稱,指定包含您要執行命令之節點的節點群組。 作業範本名稱的最大長度為80個字元。 如果您也 指定 /job、/nodegroup、/nodes或 /task 參數,則您無法指定 /template 參數。 |
/nodestate:<node_state> | 在所有處於指定狀態的節點上執行 命令。 有效狀態為 Online、Offline 和 Draining。 如果您也指定 /pausednodes 或 /readynodes 參數,則無法指定 /nodestate 參數。 |
/pausednodes | 已取代。 請改用 /nodestate:offline 參數。 |
/readynodes | 已取代。 請改用 /nodestate:online 參數。 |
/outputdir:<目錄> | 指定您用來執行 clusrun 命令之本機電腦上的目錄,您要在其中儲存使用 clusrun 命令執行的命令輸出。 此目錄必須已經存在,否則會發生錯誤。 clusrun 命令會建立此目錄的子目錄,其名稱與 HPC 作業排程器服務指派給 clusrun 命令的實例相同。 clusrun 命令會儲存每個指定節點的檔案。 此檔案包含該節點上指定命令的輸出,其檔名符合沒有擴展名的節點名稱。 您可以使用記事本之類的文字編輯器程式來檢視這些檔案的內容。 |
/password:{<password>|*} | 指定命令應該在其中執行之帳戶的密碼。 如果您指定 /user 參數,但未指定 /password 參數,或如果您為密碼指定星號 ≦ , clusrun 命令會提示您輸入密碼,以及是否儲存密碼。 |
/scheduler:<名稱> | 針對包含您要執行命令之節點的叢集,指定前端節點的主機名或IP位址。 此值必須是有效的計算機名稱或IP位址。 如果您未指定 /scheduler 參數,此命令會使用CCP_SCHEDULER環境變數所指定前端節點上的排程器。 |
/排序 | 顯示命令在所有節點上完成之後,執行命令之不同節點的輸出。 每個節點的輸出會出現在具有標題的個別區段中,指出產生輸出的節點。 區段會依節點的名稱依字母順序排序。 |
/spooldir:<目錄> | 已取代。 請改用 /outputdir 參數。 |
/stdin:[<路徑>\]<file_name> | 指定命令應該接收標準輸入的檔名。 如果命令不應該從工作目錄中的檔案接收標準輸入,這包括相對於檔案工作目錄的完整路徑或路徑。 如果您指定命令執行所在的節點上不存在的檔案或路徑,該命令就會在該節點上失敗。 此參數值的最大長度為160個字元。 |
/user:[<網域>\]<user_name>] | 指定使用者名稱,並選擇性地指定命令應該執行所在的帳戶網域。 如果您未指定此參數,命令會在用來執行 clusrun 命令的帳戶下執行。 |
/workdir:<資料夾> | 指定命令應該在其中執行的工作目錄。 預設值為 %USERPROFILE%。 此參數值的最大長度為160個字元。 |
<命令> [<参數>] | 指定您想要執行的命令命令行,包括命令或應用程式名稱和任何必要參數。
clusrun 命令會使用 cmd 命令,在每個節點上執行此命令,如下所示: cmd.exe /c <命令> [<参數>] 您無法使用 clusrun 命令來執行訊息傳遞介面 (MPI) 應用程式。 |
/? | 在命令提示字元中顯示說明。 |
/help | 在命令提示字元中顯示說明。 |
備註
您可以在直接或遠端存取叢集中的任何用戶端節點上,執行 clusrun 命令。 用戶端節點包括前端節點,以及安裝用戶端公用程式的任何計算節點。 執行命令之節點的輸出會重新導向至客戶端節點,除了來自作業系統的運行時間錯誤訊息之外,還包含標準輸出和標準錯誤數據流。
如果您中斷或停止 clusrun 命令,遠端 命令的實例也會停止。
您必須是叢集管理員,才能執行 clusrun 命令。
clusrun 命令會立即在相關節點上執行指定的命令,而不論節點是否已經執行已排程的工作。 因為 clusrun 命令中指定的命令會立即執行,clusrun 命令可能會導致已執行的工作失敗,特別是延遲敏感的 MPI 程式。
您使用 clusrun 執行的命令可能無法存取您發出 clusrun 命令之電腦上的共享資料夾。 在下列情況下,可能會發生此存取問題:
防火牆可防止命令存取共享資料夾。
IPsec 或網域原則可防止 clusrun 命令透過網路位址轉換 (NAT) 進行通訊。
如果您登入計算節點且無法存取用戶端電腦上的共享資料夾,則使用 clusrun 命令執行的命令將無法存取該共享資料夾。
若要透過防火牆授與共享資料夾的存取權,請在用戶端電腦上建立檔案和印表機共用功能的防火牆例外狀況。
指定路徑或命令時,必須以引號 (“) 括住,因為它包含空格,如果路徑或命令也包含反斜杠 (\),請小心,因為引號前面緊接的反斜杠會做為逸出字元。 若要防止反斜杠作為逸出字元,請使用兩個反斜杠。 例如,使用 “C:\Program Files\\” 而不是 “C:\Program Files\”。
範例
若要列出叢集中所有節點上 %USERPROFILE% 目錄的內容,請使用下列命令:
clusrun /all dir
若要在所有具有開頭名稱的節點上執行 echo 你好 命令
compute,除了 computenode1 之外,請使用下列命令:
clusrun /nodes:compute* /exclude:computenode1 echo hello
若要在 HPC 作業排程器服務配置給作業且作業識別碼為 12 的所有在線節點上執行 systeminfo 命令,請使用下列命令
命令:
clusrun /job:12 /nodestate:online systeminfo