As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Executando seu primeiro trabalho em AWS ParallelCluster
Este tutorial explica como executar seu primeiro trabalho do Hello World no AWS ParallelCluster
Ao usar a interface de linha de AWS ParallelCluster comando (CLI) ouAPI, você paga apenas pelos AWS recursos criados ao criar ou atualizar AWS ParallelCluster imagens e clusters. Para obter mais informações, consulte AWS serviços usados por AWS ParallelCluster.
A AWS ParallelCluster interface do usuário é construída em uma arquitetura sem servidor e você pode usá-la na categoria AWS Free Tier na maioria dos casos. Para obter mais informações, consulte AWS ParallelCluster Custos de UI.
Pré-requisitos
-
AWS ParallelCluster está instalado.
-
O AWS CLI está instalado e configurado.
-
Você tem um par de EC2 chaves da Amazon.
-
Você tem uma IAM função com as permissões necessárias para executar pcluster CLI o.
Verificar a instalação
Primeiro, verificamos se AWS ParallelCluster está correto, incluindo a dependência do Node.js, instalada e configurada.
$
node --version
v16.8.0
$
pcluster version
{ "version": "3.7.0" }
Isso retorna a versão em execução do AWS ParallelCluster.
Criação de seu primeiro cluster
Agora é hora de criar seu primeiro cluster. Como a workload desse tutorial não é de desempenho intensivo, podemos usar o tamanho de instância padrão de t2.micro
. (Para workloads de produção, escolha um tamanho de instância que melhor atenda às suas necessidades.) Vamos chamar o cluster de hello-world
.
$
pcluster create-cluster \ --cluster-name hello-world \ --cluster-configuration hello-world.yaml
nota
O Região da AWS a ser usado deve ser especificado para a maioria dos pcluster
comandos. Se não estiver especificado na variável de ambiente AWS_DEFAULT_REGION
ou na configuração region
na seção [default]
do arquivo ~/.aws/config
o parâmetro --region
deverá ser fornecido na linha de comando pcluster
.
Se a saída fornecer uma mensagem sobre configuração, será necessário executar o seguinte para configurar o AWS ParallelCluster:
$
pcluster configure --config hello-world.yaml
Se o comando pcluster create-cluster for bem-sucedido, você verá um resultado semelhante a este:
{ "cluster": { "clusterName": "hello-world", "cloudformationStackStatus": "CREATE_IN_PROGRESS", "cloudformationStackArn": "arn:aws:cloudformation:xxx:stack/xxx", "region": "...", "version": "...", "clusterStatus": "CREATE_IN_PROGRESS" } }
Você monitora a criação do cluster usando:
$
pcluster describe-cluster --cluster-name hello-world
Os relatórios clusterStatus
"CREATE_IN_PROGRESS
" enquanto o cluster está sendo criado. A clusterStatus
muda para "CREATE_COMPLETE
" quando o cluster é criado com sucesso. O resultado também nos fornece publicIpAddress
e privateIpAddress
do nosso nó de cabeçalho.
Fazer login em seu nó principal
Use seu arquivo Open SSH pem para fazer login em seu nó principal.
$
pcluster ssh --cluster-name hello-world -i /path/to/keyfile.pem
Depois de fazer login, execute o comando sinfo
para verificar se os nós de computação estão definidos e configurados.
$
sinfo
PARTITION AVAIL TIMELIMIT NODES STATE NODELIST queue1* up infinite 10 idle~ queue1-dy-queue1t2micro-[1-10]
A saída mostra que temos uma fila em nosso cluster, com até dez nós.
Executar o primeiro trabalho usando o Slurm
Depois, criamos uma tarefa que permanece em espera por um tempo e então emite seu próprio nome de host como saída. Crie um arquivo chamado hellojob.sh
com o seguinte conteúdo:
#!/bin/bash sleep 30 echo "Hello World from $(hostname)"
Depois, envie a tarefa usando sbatch
e verifique se ela é executada.
$
sbatch hellojob.sh
Submitted batch job 2
Agora, você pode visualizar a fila e verificar o status do trabalho. O provisionamento de uma nova EC2 instância da Amazon é iniciado em segundo plano. Você pode monitorar o status das instâncias do cluster com o comando sinfo
.
$
squeue
JOBID PARTITION NAME USER ST TIME NODES NODELIST(REASON) 2 queue1 hellojob ec2-user CF 3:30 1 queue1-dy-queue1t2micro-1
A saída mostra que o trabalho foi enviado a queue1
. Aguarde 30 segundos para que a tarefa seja concluída e execute squeue
novamente.
$
squeue
JOBID PARTITION NAME USER ST TIME NODES NODELIST(REASON)
Agora que não há trabalhos na fila, podemos verificar a saída em nosso diretório atual.
$
ls -l
total 8 -rw-rw-r-- 1 ec2-user ec2-user 57 Sep 1 14:25 hellojob.sh -rw-rw-r-- 1 ec2-user ec2-user 43 Sep 1 14:30 slurm-2.out
Na saída, vemos um arquivo out
"”. Podemos ver a saída do nosso trabalho:
$
cat slurm-2.out
Hello World from queue1-dy-queue1t2micro-1
A saída também mostra que a tarefa foi executada com êxito na instância queue1-dy-queue1t2micro-1
.
No cluster que você acabou de criar, somente o diretório inicial é compartilhado entre todos os nós do cluster.
Para saber mais sobre como criar e usar clusters, consulte Práticas recomendadas.
Se seu aplicativo exigir software, bibliotecas ou dados compartilhados, considere as seguintes opções:
-
Crie uma personalização AWS ParallelCluster habilitada AMI que inclua seu software conforme descrito emConstruindo um personalizado AWS ParallelCluster AMI.
-
Use a StorageSettingsopção no arquivo de AWS ParallelCluster configuração para especificar um sistema de arquivos compartilhado e armazenar o software instalado no local de montagem especificado.
-
Use Ações de bootstrap personalizadas para automatizar o procedimento de bootstrap de cada nó do seu cluster.