clusrun
Executa o comando especificado em vários nós e redireciona a saída de todas as instâncias do comando especificado para o nó no qual você executou o comando clusrun.
Para obter exemplos de como usar esse comando, consulte Exemplos.
Sintaxe
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}
Parâmetros
Parâmetro | Descrição |
---|---|
/todo | Executa o comando em todos os nós no cluster HPC. |
/env:<variable_and_value_list> | Especifica uma lista de variáveis de ambiente a serem definidas no ambiente de tempo de execução do comando e os valores a serem atribuídos a essas variáveis de ambiente. A lista deve ter um formato de <variable_name1>=<value1> [;<variable_name2>=<value2>...]. Como alternativa, você pode definir várias variáveis de ambiente incluindo vários parâmetros de /env, cada um com um argumento diferente com um formato de <variable_name>=<valor>. Para desaconsinar uma variável de ambiente, não especifique um valor. Por exemplo, "<variable_to_unset_name>=". |
/exclude:<node_list> | Especifica uma lista de mais um dos nós nos quais você não deseja que o comando seja executado usando o formato <node1_name>[,<node2_name>...]. Você pode usar o parâmetro /exclude em combinação com outros parâmetros que especificam vários nós indiretamente para eliminar nós específicos. Por exemplo, se o cluster HPC incluir nós chamados computenode1, computenode2 e computenode3, você poderá usar as opções /exclude:computenode2 e /nodes:compute* para especificar que o comando deve ser executado em computenode1 e computenode3. |
/Intercalados | Exibe a saída do comando dos diferentes nós como uma única lista na qual cada linha é rotulada com o nome do nó que produziu a linha de saída e em que linhas de saída de diferentes nós podem ser intercaladas. |
/job:<> jobID | Especifica o identificador de um trabalho que tem um estado de Execução, Concluído, Com Falha ou Cancelado e que foi alocado para os nós nos quais você deseja executar o comando. Se você especificar o parâmetro /job, clusrun executará o comando nos mesmos nós que o Serviço de Agendador de Trabalho HPC alocou para o trabalho especificado. O trabalho deve ser um trabalho para o qual os nós foram alocados anteriormente. Não é possível especificar o parâmetro /job se você também especificar o parâmetro /nodegroup, /nós, /taskou /template. |
/nodegroup:<node_group> | Especifica o grupo de nós que contém os nós nos quais você deseja executar o comando. Você não poderá especificar o parâmetro /nodegroup se também especificar o parâmetro /job, /nós, /taskou /template parâmetro. |
/nós:<node_list> | Especifica uma lista de mais um dos nós nos quais você deseja executar o comando usando o formato <node1_name>[,<node2_name>...]. Você pode usar um asterisco (*) como caractere curinga. Por exemplo, se você especificar /node:compnode1*, o comando será executado em todos os nós que têm um nome que começa com compnode1, como compnode10, compnode15, compnode126 e compnode1158. Não é possível especificar o parâmetro |
/task:<>jobID .<taskID>[.<subtaskID>] | Especifica o identificador de uma tarefa ou subtarefa que tem um estado de Execução, Concluído, Com Falha ou Cancelado e que foi alocado para os nós nos quais você deseja executar o comando. Se você especificar o parâmetro /task, clusrun executará o comando nos mesmos nós que o Serviço de Agendador de Trabalho do HPC alocou para a tarefa ou subtarefa especificada. A tarefa ou subtarefa deve ser uma tarefa ou subtarefa para a qual os nós foram alocados anteriormente. Para tarefas paramétricas, você deve especificar uma subtarefa em vez de uma tarefa. Você não poderá especificar o parâmetro /task se também especificar o parâmetro /job, /nodegroup, /nósou /template. |
/template:<job_template_name> | Especifica o nome do modelo de trabalho que especifica um grupo de nós que contém os nós nos quais você deseja executar o comando. O comprimento máximo para o nome de um modelo de trabalho é de 80 caracteres. Você não poderá especificar o parâmetro /template se também especificar o parâmetro /job, /nodegroup, /nósou /task. |
/nodestate:<node_state> | Executa o comando em todos os nós que estão no estado especificado. Os estados válidos são Online, Offline e Draining. Você não poderá especificar o parâmetro /nodestate se também especificar o parâmetro /pausednodes ou /readynodes. |
/pausednodes | Preterido. Use o parâmetro /nodestate:offline em vez disso. |
/readynodes | Preterido. Use o parâmetro /nodestate:online em vez disso. |
/outputdir:<diretório> | Especifica o diretório no computador local que você usa para executar o comando clusrun no qual você deseja salvar a saída do comando executado com o comando clusrun. Esse diretório já deve existir ou ocorrerá um erro. O comando clusrun cria um subdiretório desse diretório com o nome igual ao identificador de trabalho que o Serviço de Agendador de Trabalho HPC atribui à instância do comando clusrun. O comando clusrun salva um arquivo para cada nó especificado. Esse arquivo contém a saída do comando especificado nesse nó, com um nome de arquivo que corresponde ao nome do nó sem extensão. Você pode usar um programa de editor de texto, como o Bloco de Notas, para exibir o conteúdo desses arquivos. |
/password:{<senha>|*} | Especifica a senha da conta na qual o comando deve ser executado. Se você especificar o parâmetro /user mas não o parâmetro /password ou se você especificar um asterisco (*) para a senha, o comando clustersrun solicitará a senha e se a senha será armazenada. |
/scheduler:<nome> | Especifica o nome do host ou o endereço IP do nó principal para o cluster que contém os nós aos quais você deseja executar o comando. O valor deve ser um nome de computador ou endereço IP válido. Se você não especificar o parâmetro /scheduler, esse comando usará o agendador no nó principal especificado pela variável de ambiente CCP_SCHEDULER. |
/Classificados | Exibe a saída dos diferentes nós que executaram o comando após a conclusão do comando em todos os nós. A saída de cada nó aparece em uma seção separada que tem um título que indica o nó que produziu a saída. As seções são classificadas em ordem alfabética pelo nome dos nós. |
/spooldir:<diretório> | Preterido. Use o parâmetro /outputdir em vez disso. |
/stdin:[<caminho>\]<file_name> | Especifica o nome do arquivo do qual o comando deve receber entrada padrão. Isso inclui o caminho completo ou o caminho relativo ao diretório de trabalho do arquivo se o comando não deve receber a entrada padrão de um arquivo no diretório de trabalho. Se você especificar um arquivo ou caminho que não existe em um nó no qual o comando é executado, o comando falhará nesse nó. O comprimento máximo do valor para esse parâmetro é de 160 caracteres. |
/user:[<domain>\]<user_name>] | Especifica o nome de usuário e, opcionalmente, o domínio da conta sob a qual o comando deve ser executado. Se você não especificar esse parâmetro, o comando será executado sob a conta usada para executar o comando clusrun. |
/workdir:<pasta> | Especifica o diretório de trabalho no qual o comando deve ser executado. O valor padrão é %USERPROFILE%. O comprimento máximo do valor para esse parâmetro é de 160 caracteres. |
> de comando <[ parâmetros de<>] | Especifica a linha de comando para o comando que você deseja executar, incluindo o comando ou o nome do aplicativo e todos os parâmetros necessários. O comando clusrun usa o comando cmd para executar este comando em cada um dos nós da seguinte maneira: cmd.exe /c <> de comando [ parâmetros de<>] Não é possível executar aplicativos MPI (Interface de Passagem de Mensagem) usando o comando clusrun. |
/? | Exibe a Ajuda no prompt de comando. |
/Ajuda | Exibe a Ajuda no prompt de comando. |
Comentários
Você pode executar o comando clusrun em qualquer nó cliente no cluster que seja acessado diretamente ou remotamente. Os nós do cliente incluem o nó principal e quaisquer nós de computação nos quais os utilitários cliente estão instalados. A saída dos nós que executam o comando é redirecionada para o nó do cliente e inclui a saída padrão e fluxos de erro padrão, além de mensagens de erro em tempo de execução do sistema operacional.
Se você interromper ou parar o comando
clusrun , as instâncias do comando remototambém serão interrompidas. Você deve ser um administrador de cluster para executar o comando clusrun.
O comando clusrun executa o comando especificado imediatamente nos nós relevantes, independentemente de os nós já estarem executando uma tarefa agendada. Como o comando especificado no comando clusrun é executado imediatamente, o comando clusrun pode fazer com que tarefas agendadas que já estão em execução falhem, especialmente programas de MPI sensíveis à latência.
Um comando executado com
clusrun pode não ser capaz de acessar pastas compartilhadas no computador do qual você emitiu o comando do. Esse problema de acesso pode ocorrer nas seguintes circunstâncias: Um firewall impede que o comando acesse a pasta compartilhada.
O IPsec ou a política de domínio impede que o comando clusrun se comunique por meio da NAT (conversão de endereços de rede).
Se você fizer logon em um nó de computação e não puder acessar uma pasta compartilhada no computador cliente, o comando executado com o comando clusrun não terá acesso a essa pasta compartilhada.
Para conceder acesso à pasta compartilhada por meio do firewall, crie uma exceção de firewall no computador cliente para o recurso Compartilhamento de Arquivos e Impressoras.
Ao especificar um caminho ou comando que precisa ser colocado entre aspas (") porque ele inclui espaços, tenha cuidado se o caminho ou o comando também inclui barras invertidas (\), pois uma barra invertida que precede imediatamente uma aspa atua como um caractere de escape. Para impedir que a barra invertida aja como um caractere de escape, use duas barras invertidas. Por exemplo, use "C:\Arquivos de Programas\\" em vez de "C:\Arquivos de Programas\".
Exemplos
Para listar o conteúdo do diretório %USERPROFILE% em todos os nós no cluster, use o seguinte comando:
clusrun /all dir
Para executar o comando echo hello em todos os nós que têm nomes que começam com
computação, exceto computenode1, use o seguinte comando:
clusrun /nodes:compute* /exclude:computenode1 echo hello
Para executar o comando systeminfo em todos os nós online que o Serviço de Agendador de Trabalho do HPC alocou para o trabalho com um identificador de trabalho de 12, use o seguinte
comando:
clusrun /job:12 /nodestate:online systeminfo
Referências adicionais
chave de sintaxe Command-Line