Compartilhar via


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 /nós se você também especificar o parâmetro /job, /nodegroup, /taskou /template. Observação: O nome do nó não pode ter mais de 12 caracteres.
/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 remoto també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