clusrun
Esegue il comando specificato in più nodi e reindirizza l'output di tutte le istanze del comando specificato al nodo in cui è stato eseguito il comando clusrun.
Per esempi di come usare questo comando, vedere esempi.
Sintassi
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}
Parametri
Parametro | Descrizione |
---|---|
/tutto | Esegue il comando in tutti i nodi del cluster HPC. |
/env:<variable_and_value_list> | Specifica un elenco di variabili di ambiente da impostare nell'ambiente di runtime del comando e i valori da assegnare a tali variabili di ambiente. L'elenco deve avere un formato di <variable_name1>=<value1> [;<variable_name2>=<value2>...]. In alternativa, è possibile impostare più variabili di ambiente includendo più parametri di /env, ognuno con un argomento diverso con un formato di <variable_name>=<valore>. Per annullare l'impostazione di una variabile di ambiente, non specificare un valore. Ad esempio, "<variable_to_unset_name>=". |
/exclude:<node_list> | Specifica un elenco di uno di più nodi in cui non si vuole eseguire il comando, usando il formato <node1_name>[,<node2_name>...]. È possibile usare il parametro /exclude in combinazione con altri parametri che specificano indirettamente più nodi per eliminare nodi specifici. Ad esempio, se il cluster HPC include nodi denominati computenode1, computenode2 e computenode3, è possibile usare le opzioni /exclude:computenode2 e /nodes:compute* insieme per specificare che il comando deve essere eseguito in computenode1 e computenode3. |
/Interleaved | Visualizza l'output del comando dai diversi nodi come un singolo elenco in cui ogni riga viene etichettata con il nome del nodo che ha prodotto la riga di output e in cui le righe di output di nodi diversi possono essere interleavede. |
/job:<jobID> | Specifica l'identificatore per un processo con stato In esecuzione, Completato, Non riuscito o Annullato e che è stato allocato ai nodi in cui si vuole eseguire il comando. Se si specifica il parametro /job, clusrun esegue il comando sugli stessi nodi allocati dal servizio di pianificazione processi HPC al processo specificato. Il processo deve essere un processo per il quale i nodi sono stati allocati in precedenza. Non è possibile specificare il parametro |
/nodegroup:<node_group> | Specifica il gruppo di nodi che contiene i nodi in cui si vuole eseguire il comando. Non è possibile specificare il parametro /nodegroup se si specifica anche il parametro /job, /nodes, /tasko /template. |
/nodes:<node_list> | Specifica un elenco di uno di più nodi in cui si vuole eseguire il comando usando il formato <node1_name>[,<node2_name>...]. È possibile usare un asterisco (*) come carattere jolly. Ad esempio, se si specifica /node:compnode1*, il comando viene eseguito in tutti i nodi con un nome che inizia con compnode1, ad esempio compnode10, compnode15, compnode126 e compnode1158. Non è possibile specificare il parametro /nodes |
/task:<jobID>.<taskID>[.<subtaskID>] | Specifica l'identificatore di un'attività o di una sottoattività con stato Running, Finished, Failed o Canceled e che è stato allocato ai nodi in cui si vuole eseguire il comando. Se si specifica il parametro /task, clusrun esegue il comando sugli stessi nodi allocati dal servizio utilità di pianificazione processi HPC all'attività o alla sottoattività specificata. L'attività o la sottoattività deve essere un'attività o una sottoattività per cui i nodi sono stati allocati in precedenza. Per le attività parametriche, è necessario specificare una sottoattività anziché un'attività. Non è possibile specificare il parametro /task |
/template:<job_template_name> | Specifica il nome del modello di processo che specifica un gruppo di nodi che contiene i nodi in cui si vuole eseguire il comando. La lunghezza massima per il nome di un modello di processo è di 80 caratteri. Non è possibile specificare il parametro |
/nodestate:<node_state> | Esegue il comando in tutti i nodi nello stato specificato. Gli stati validi sono Online, Offline e Svuotamento. Non è possibile specificare il parametro /nodestate se si specifica anche il parametro /pausednodes o /readynodes. |
/pausednodes | Deprecato. Usare invece il parametro /nodestate:offline. |
/readynodes | Deprecato. Usare invece il parametro /nodestate:online. |
/outputdir:<directory> | Specifica la directory nel computer locale utilizzata per eseguire il comando Il comando clusrun crea una sottodirectory di questa directory con lo stesso nome dell'identificatore del processo assegnato dal servizio di pianificazione processi HPC all'istanza del comando clusrun. Il comando clusrun salva un file per ogni nodo specificato. Questo file contiene l'output del comando specificato in tale nodo, con un nome file che corrisponde al nome del nodo senza estensione. È possibile usare un programma editor di testo, ad esempio Blocco note, per visualizzare il contenuto di questi file. |
/password:{<password>|*} | Specifica la password per l'account in cui deve essere eseguito il comando. Se si specifica il parametro /user ma non il parametro /password o se si specifica un asterisco (*) per la password, il comando clusrun richiede la password e se archiviare la password. |
/scheduler: nome<> | Specifica il nome host o l'indirizzo IP del nodo head per il cluster che contiene i nodi a cui si vuole eseguire il comando. Il valore deve essere un nome computer o un indirizzo IP valido. Se non si specifica il parametro |
/assortito | Visualizza l'output dei diversi nodi che hanno eseguito il comando al termine del comando in tutti i nodi. L'output per ogni nodo viene visualizzato in una sezione separata con un'intestazione che indica il nodo che ha generato l'output. Le sezioni vengono ordinate in ordine alfabetico in base al nome dei nodi. |
/spooldir:<directory> | Deprecato. Usare invece il parametro /outputdir. |
/stdin:[ percorso<>\]<file_name> | Specifica il nome del file da cui il comando deve ricevere l'input standard. Ciò include il percorso completo o il percorso relativo alla directory di lavoro per il file se il comando non deve ricevere l'input standard da un file nella directory di lavoro. Se si specifica un file o un percorso che non esiste in un nodo in cui viene eseguito il comando, il comando non riesce in tale nodo. La lunghezza massima del valore per questo parametro è di 160 caratteri. |
/user:[<dominio>\]<user_name>] | Specifica il nome utente e, facoltativamente, il dominio dell'account in cui deve essere eseguito il comando. Se non si specifica questo parametro, il comando viene eseguito con l'account usato per eseguire il comando clusrun. |
/workdir:<cartella> | Specifica la directory di lavoro in cui deve essere eseguito il comando. Il valore predefinito è %USERPROFILE%. La lunghezza massima del valore per questo parametro è di 160 caratteri. |
<comando> [ parametri<>] | Specifica la riga di comando per il comando che si vuole eseguire, inclusi il comando o il nome dell'applicazione e i parametri necessari. Il comando comando cmd.exe /c <> [ parametri<>] Non è possibile eseguire applicazioni MPI (Message Passing Interface) usando il comando clusrun. |
/? | Visualizza la Guida al prompt dei comandi. |
/help | Visualizza la Guida al prompt dei comandi. |
Osservazioni:
È possibile eseguire il comando clusrun su qualsiasi nodo client nel cluster a cui si accede direttamente o in remoto. I nodi client includono il nodo head e tutti i nodi di calcolo in cui sono installate le utilità client. L'output dei nodi che eseguono il comando viene reindirizzato al nodo client e include l'output standard e i flussi di errore standard oltre ai messaggi di errore in fase di esecuzione dal sistema operativo.
Se si interrompe o arresta il comando
clusrun, le istanze del comando remoto vengono interrotte. È necessario essere un amministratore del cluster per eseguire il comando
clusrun. Il comando clusrun esegue immediatamente il comando specificato nei nodi pertinenti, indipendentemente dal fatto che i nodi eseguano già un'attività pianificata. Poiché il comando specificato nella clusrun comando viene eseguito immediatamente, il comando clusrun può causare l'esito negativo delle attività pianificate, in particolare i programmi MPI sensibili alla latenza.
Un comando eseguito con clusrun potrebbe non essere in grado di accedere alle cartelle condivise nel computer da cui è stato emesso il comando clusrun. Questo problema di accesso può verificarsi nelle circostanze seguenti:
Un firewall impedisce al comando di accedere alla cartella condivisa.
I Criteri di dominio o IPsec impedisce al comando clusrun di comunicare tramite NAT (Network Address Translation).
Se si accede a un nodo di calcolo e non è possibile accedere a una cartella condivisa nel computer client, il comando eseguito con il comando clusrun comando non avrà accesso a tale cartella condivisa.
Per concedere l'accesso alla cartella condivisa tramite il firewall, creare un'eccezione del firewall nel computer client per la funzionalità Condivisione file e stampanti.
Quando si specifica un percorso o un comando che deve essere racchiuso tra virgolette (") perché include spazi, prestare attenzione se il percorso o il comando include anche barre rovesciate (\), perché una barra rovesciata che precede immediatamente una virgoletta funge da carattere di escape. Per impedire che la barra rovesciata agisca come carattere di escape, utilizzare due barre rovesciata. Ad esempio, usare "C:\Programmi\\" anziché "C:\Programmi\".
Esempi
Per elencare il contenuto della directory %USERPROFILE% in tutti i nodi del cluster, usare il comando seguente:
clusrun /all dir
Per eseguire il comando echo hello
calcolo, ad eccezione di computenode1, usare il comando seguente:
clusrun /nodes:compute* /exclude:computenode1 echo hello
Per eseguire il comando systeminfo
comando:
clusrun /job:12 /nodestate:online systeminfo
Riferimenti aggiuntivi
Command-Line della sintassi