clusrun
Exécute la commande spécifiée sur plusieurs nœuds et redirige la sortie de toutes les instances de la commande spécifiée vers le nœud sur lequel vous avez exécuté la commande clusrun.
Pour obtenir des exemples d’utilisation de cette commande, consultez Exemples.
Syntaxe
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}
Paramètres
Paramètre | Description |
---|---|
/tout | Exécute la commande sur tous les nœuds du cluster HPC. |
/env :<variable_and_value_list> | Spécifie une liste de variables d’environnement à définir dans l’environnement d’exécution de la commande et les valeurs à affecter à ces variables d’environnement. La liste doit avoir un format de <variable_name1>=<valeur1> [ ;<variable_name2>=<valeur2>...]. Vous pouvez également définir plusieurs variables d’environnement en incluant plusieurs paramètres /env, chacun avec un argument différent avec un format de <variable_name>=<valeur>. Pour annuler la définition d’une variable d’environnement, ne spécifiez pas de valeur. Par exemple, «<variable_to_unset_name>= ». |
/exclude :<node_list> | Spécifie une liste d’un des nœuds sur lesquels vous ne souhaitez pas que la commande s’exécute, à l’aide du format <node1_name>[,<node2_name>...]. Vous pouvez utiliser le paramètre /exclude en combinaison avec d’autres paramètres qui spécifient indirectement plusieurs nœuds pour éliminer des nœuds spécifiques. Par exemple, si votre cluster HPC inclut des nœuds nommés computenode1, computenode2 et computenode3, vous pouvez utiliser les options /exclude :computenode2 et /nodes :compute* ensemble pour spécifier que la commande doit s’exécuter sur computenode1 et computenode3. |
/Entrelacé | Affiche la sortie de la commande à partir des différents nœuds sous la forme d’une liste unique dans laquelle chaque ligne est étiquetée avec le nom du nœud qui a produit la ligne de sortie, et dans laquelle les lignes de sortie provenant de différents nœuds peuvent être entrelacées. |
/job :<jobID> | Spécifie l’identificateur d’un travail qui a un état d’exécution, de fin, d’échec ou d’annulation et qui a été alloué aux nœuds sur lesquels vous souhaitez exécuter la commande. Si vous spécifiez le paramètre /job, clusrun exécute la commande sur les mêmes nœuds que le service hpC Job Scheduler alloué au travail spécifié. Le travail doit être un travail pour lequel les nœuds ont été alloués précédemment. Vous ne pouvez pas spécifier le paramètre /job |
/nodegroup :<node_group> | Spécifie le groupe de nœuds qui contient les nœuds sur lesquels vous souhaitez exécuter la commande. Vous ne pouvez pas spécifier le paramètre /nodegroup |
/nodes :<node_list> | Spécifie une liste d’un des nœuds sur lesquels vous souhaitez exécuter la commande à l’aide du format <node1_name>[,<node2_name>...]. Vous pouvez utiliser un astérisque (*) comme caractère générique. Par exemple, si vous spécifiez /node :compnode1*, la commande s’exécute sur tous les nœuds dont le nom commence par compnode1, tel que compnode10, compnode15, compnode126 et compnode1158. Vous ne pouvez pas spécifier le paramètre /nodes |
/task :<jobID>.<>taskID [.<subtaskID>] | Spécifie l’identificateur d’une tâche ou d’une sous-tâche qui a un état d’exécution, de fin, d’échec ou d’annulation et qui a été alloué aux nœuds sur lesquels vous souhaitez exécuter la commande. Si vous spécifiez le paramètre /task Vous ne pouvez pas spécifier le paramètre |
/template :<job_template_name> | Spécifie le nom du modèle de travail qui spécifie un groupe de nœuds qui contient les nœuds sur lesquels vous souhaitez exécuter la commande. La longueur maximale pour le nom d’un modèle de travail est de 80 caractères. Vous ne pouvez pas spécifier le paramètre /template |
/nodestate :<node_state> | Exécute la commande sur tous les nœuds qui sont dans l’état spécifié. Les états valides sont Online, Offline et Draining. Vous ne pouvez pas spécifier le paramètre |
/pausednodes | Déconseillé. Utilisez le paramètre /nodestate :offline à la place. |
/readynodes | Déconseillé. Utilisez le paramètre /nodestate :online à la place. |
/outputdir :<répertoire> | Spécifie le répertoire sur l’ordinateur local que vous utilisez pour exécuter la commande clusrun dans laquelle vous souhaitez enregistrer la sortie de la commande que vous avez exécutée avec la commande clusrun. Ce répertoire doit déjà exister ou une erreur se produit. La commande |
/password :{<mot de passe>|*} | Spécifie le mot de passe du compte sous lequel la commande doit s’exécuter. Si vous spécifiez le paramètre /user |
/scheduler :<nom> | Spécifie le nom d’hôte ou l’adresse IP du nœud principal du cluster qui contient les nœuds auxquels vous souhaitez exécuter la commande. La valeur doit être un nom d’ordinateur ou une adresse IP valide. Si vous ne spécifiez pas le paramètre /scheduler, cette commande utilise le planificateur sur le nœud principal spécifié par la variable d’environnement CCP_SCHEDULER. |
/trié | Affiche la sortie des différents nœuds qui ont exécuté la commande une fois la commande terminée sur tous les nœuds. La sortie de chaque nœud apparaît dans une section distincte qui a un titre qui indique le nœud qui a produit la sortie. Les sections sont triées par ordre alphabétique par le nom des nœuds. |
/spooldir :<répertoire> | Déconseillé. Utilisez le paramètre /outputdir à la place. |
/stdin :[ chemin d’accès<>\]<file_name> | Spécifie le nom du fichier à partir duquel la commande doit recevoir une entrée standard. Cela inclut le chemin complet ou le chemin d’accès relatif au répertoire de travail du fichier si la commande ne doit pas recevoir d’entrée standard d’un fichier dans le répertoire de travail. Si vous spécifiez un fichier ou un chemin d’accès qui n’existe pas sur un nœud sur lequel la commande s’exécute, la commande échoue sur ce nœud. La longueur maximale de la valeur de ce paramètre est de 160 caractères. |
/user :[<domaine>\]<user_name>] | Spécifie le nom d’utilisateur et éventuellement le domaine du compte sous lequel la commande doit s’exécuter. Si vous ne spécifiez pas ce paramètre, la commande s’exécute sous le compte utilisé pour exécuter la commande clusrun. |
/workdir :<dossier> | Spécifie le répertoire de travail sous lequel la commande doit s’exécuter. La valeur par défaut est %USERPROFILE%. La longueur maximale de la valeur de ce paramètre est de 160 caractères. |
<commande> [ paramètres<>] | Spécifie la ligne de commande de la commande que vous souhaitez exécuter, y compris le nom de la commande ou de l’application et tous les paramètres nécessaires. La commande clusrun utilise la commande cmd pour exécuter cette commande sur chacun des nœuds comme suit : cmd.exe /c <commande> [<paramètres>] Vous ne pouvez pas exécuter d’applications MPI (Message Passing Interface) à l’aide de la commande clusrun. |
/? | Affiche l’aide à l’invite de commandes. |
/Aide | Affiche l’aide à l’invite de commandes. |
Remarques
Vous pouvez exécuter la commande clusrun sur n’importe quel nœud client du cluster accessible directement ou à distance. Les nœuds clients incluent le nœud principal et tous les nœuds de calcul sur lesquels les utilitaires clients sont installés. La sortie des nœuds qui exécutent la commande est redirigée vers le nœud client, et inclut les flux d’erreur standard et de sortie standard en plus des messages d’erreur d’exécution du système d’exploitation.
Si vous interrompez ou arrêtez la commande clusrun
, les instances de la commande distante s’arrêtent également.Vous devez être administrateur de cluster pour exécuter la commande clusrun.
La commande clusrun exécute immédiatement la commande spécifiée sur les nœuds appropriés, que les nœuds exécutent déjà une tâche planifiée. Étant donné que la commande spécifiée dans la commande clusrun s’exécute immédiatement, la commande clusrun peut entraîner l’échec des tâches planifiées qui sont déjà en cours d’exécution, en particulier les programmes MPI sensibles à la latence.
Une commande que vous exécutez avec clusrun peut ne pas pouvoir accéder aux dossiers partagés sur l’ordinateur à partir duquel vous avez émis la commande clusrun. Ce problème d’accès peut se produire dans les circonstances suivantes :
Un pare-feu empêche la commande d’accéder au dossier partagé.
La stratégie IPsec ou de domaine empêche la commande clusrun de communiquer via la traduction d’adresses réseau (NAT).
Si vous vous connectez à un nœud de calcul et que vous ne pouvez pas accéder à un dossier partagé sur l’ordinateur client, la commande que vous exécutez avec la commande clusrun n’aura pas accès à ce dossier partagé.
Pour accorder l’accès au dossier partagé via le pare-feu, créez une exception de pare-feu sur l’ordinateur client pour la fonctionnalité Partage de fichiers et d’imprimantes.
Lorsque vous spécifiez un chemin d’accès ou une commande devant être placé entre guillemets (") car il inclut des espaces, veillez si le chemin ou la commande inclut également des barres obliques inverses (\), car une barre oblique inverse qui précède immédiatement un guillemet agit comme un caractère d’échappement. Pour empêcher la barre oblique inverse d’agir comme caractère d’échappement, utilisez deux barres obliques inverses. Par exemple, utilisez « C :\Program Files\\ » au lieu de « C :\Program Files\ ».
Exemples
Pour répertorier le contenu du répertoire %USERPROFILE% sur tous les nœuds du cluster, utilisez la commande suivante :
clusrun /all dir
Pour exécuter la commande echo hello sur tous les nœuds qui ont des noms qui commencent par
calcul, à l’exception de computenode1, utilisez la commande suivante :
clusrun /nodes:compute* /exclude:computenode1 echo hello
Pour exécuter la commande systeminfo sur tous les nœuds en ligne alloués au service hpC Job Scheduler alloué au travail avec un identificateur de travail de 12, utilisez les éléments suivants :
commander:
clusrun /job:12 /nodestate:online systeminfo