Partager via


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 si vous spécifiez également le/nodegroup , /nodes, /taskou /template paramètre.
/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 si vous spécifiez également le paramètre /job, /nodes, /taskou /template paramètre.
/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 /nodes si vous spécifiez également le/job , /nodegroup, /taskou /template paramètre. Remarque : Le nom du nœud ne peut pas comporter plus de 12 caractères.
/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 , clusrun exécute la commande sur les mêmes nœuds que le service hpC Job Scheduler alloué à la tâche ou sous-tâche spécifiée. La tâche ou la sous-tâche doit être une tâche ou une sous-tâche pour laquelle les nœuds ont été alloués précédemment. Pour les tâches paramétriques, vous devez spécifier une tâche secondaire plutôt qu’une tâche.

Vous ne pouvez pas spécifier le paramètre
/task si vous spécifiez également le/job , /nodegroup, /nodesou /template 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 si vous spécifiez également le/job , /nodegroup, /nodesou /task paramètre.
/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 /nodestate si vous spécifiez également le paramètre /pausednodes /pausednodes ou /readynodes.
/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 clusrun crée un sous-répertoire de ce répertoire portant le nom identique à l’identificateur de travail que le service du planificateur de travaux HPC affecte à l’instance de la commande clusrun. La commande clusrun enregistre un fichier pour chaque nœud spécifié. Ce fichier contient la sortie de la commande spécifiée sur ce nœud, avec un nom de fichier qui correspond au nom du nœud sans extension. Vous pouvez utiliser un programme d’éditeur de texte tel que le Bloc-notes pour afficher le contenu de ces fichiers.
/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 , mais pas le paramètre /password ou si vous spécifiez un astérisque (*) pour le mot de passe, la commande clusrun vous invite à entrer le mot de passe et à stocker le mot de passe.
/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  

Références supplémentaires