

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Exécuter votre premier job sur AWS ParallelCluster
<a name="tutorials-running-your-first-job-on-version-3"></a>

Ce tutoriel vous explique comment exécuter votre premier job Hello World sur AWS ParallelCluster

Lorsque vous utilisez l'interface de ligne de AWS ParallelCluster commande (CLI) ou l'API, vous ne payez que pour les AWS ressources créées lorsque vous créez ou mettez à jour AWS ParallelCluster des images et des clusters. Pour de plus amples informations, veuillez consulter [AWS services utilisés par AWS ParallelCluster](aws-services-v3.md).

**Conditions préalables**
+ AWS ParallelCluster [est installé](install-v3-parallelcluster.md).
+ Le AWS CLI [ est installé et configuré. ](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)
+ Vous disposez d'une paire [ de clés ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html) Amazon EC2.
+ Vous disposez d'un rôle IAM avec les [ autorisations ](iam-roles-in-parallelcluster-v3.md#iam-roles-in-parallelcluster-v3-example-user-policies) requises pour exécuter la [`pcluster`](pcluster-v3.md) CLI.

## Vérification de votre installation
<a name="tutorial-1stjob-verify-install"></a>

 Tout d'abord, nous vérifions que AWS ParallelCluster c'est correctement installé et configuré, y compris la Node.js dépendance. 

```
$ node --version
v16.8.0
$ pcluster version
{
  "version": "3.16.1"
}
```

Cela renvoie la version en cours d'exécution de AWS ParallelCluster.

## Création de votre premier cluster
<a name="tutorial-1stjob-first-cluster"></a>

Il est temps de créer votre premier cluster. Comme la charge de travail pour ce didacticiel n'est pas exigeante, nous pouvons utiliser la taille d'instance par défaut, à savoir `t2.micro`. (Pour les charges de travail en production, vous choisissez une taille d'instance qui répond le mieux à vos besoins.) Appelons votre cluster`hello-world`.

```
$ pcluster create-cluster \
    --cluster-name hello-world \
    --cluster-configuration hello-world.yaml
```

**Note**  
La Région AWS valeur à utiliser doit être spécifiée pour la plupart des `pcluster` commandes. S'il n'est pas spécifié dans la variable d'`AWS_DEFAULT_REGION`environnement ou dans le `region` paramètre de la `[default]` section du `~/.aws/config` fichier, le `--region` paramètre doit être fourni sur la ligne de `pcluster` commande.

Si la sortie affiche un message concernant la configuration, vous devez exécuter la commande suivante pour configurer AWS ParallelCluster : 

```
$ pcluster configure --config hello-world.yaml
```

 Si la [`pcluster create-cluster`](pcluster.create-cluster-v3.md) commande aboutit, vous obtenez un résultat similaire au suivant : 

```
{
  "cluster": {
    "clusterName": "hello-world",
    "cloudformationStackStatus": "CREATE_IN_PROGRESS",
    "cloudformationStackArn": "arn:aws:cloudformation:xxx:stack/xxx",
    "region": "...",
    "version": "...",
    "clusterStatus": "CREATE_IN_PROGRESS"
  }
}
```

 Vous contrôlez la création du cluster à l'aide de : 

```
$ pcluster describe-cluster --cluster-name hello-world
```

 Les `clusterStatus` rapports « `CREATE_IN_PROGRESS` » pendant la création du cluster. Le `clusterStatus` passage à « `CREATE_COMPLETE` » lorsque le cluster est créé avec succès. La sortie nous fournit également la `publicIpAddress` fin `privateIpAddress` de notre nœud principal.

## Connexion à votre nœud principal
<a name="tutorial-1stjob-logging-in-head-node"></a>

 Utilisez votre fichier pem OpenSSH pour vous connecter à votre nœud principal. 

```
$ pcluster ssh --cluster-name hello-world -i /path/to/keyfile.pem
```

 Une fois connecté, exécutez la commande `sinfo` pour vérifier que vos nœuds de calcul sont créés et configurés. 

```
$ sinfo
PARTITION AVAIL  TIMELIMIT  NODES  STATE NODELIST
queue1*      up   infinite     10  idle~ queue1-dy-queue1t2micro-[1-10]
```

 La sortie montre que nous avons une file d'attente dans notre cluster, avec jusqu'à dix nœuds. 

## Exécuter votre premier job avec Slurm
<a name="tutorial-1stjob-first-slurm-job"></a>

Ensuite, nous créons une tâche qui dort pendant un certain temps, puis génère son propre nom d'hôte. Créez un fichier nommé `hellojob.sh` avec le contenu suivant :

```
#!/bin/bash
sleep 30
echo "Hello World from $(hostname)"
```

 Ensuite, soumettez la tâche avec `sbatch`, et vérifiez qu'elle s'exécute. 

```
$ sbatch hellojob.sh
Submitted batch job 2
```

 Maintenant, vous pouvez afficher votre file d'attente et vérifier le statut de la tâche. Le provisionnement d'une nouvelle instance Amazon EC2 est démarré en arrière-plan. Vous pouvez surveiller l'état des instances de cluster à l'aide de la `sinfo` commande.

```
$ squeue
             JOBID PARTITION     NAME     USER ST       TIME  NODES NODELIST(REASON)
                 2    queue1 hellojob ec2-user CF       3:30      1 queue1-dy-queue1t2micro-1
```

 Le résultat indique que la tâche a été soumise à`queue1`. Attendez 30 secondes que la tâche se termine et exécutez `squeue` à nouveau. 

```
$ squeue
             JOBID PARTITION     NAME     USER ST       TIME  NODES NODELIST(REASON)
```

 Maintenant qu'il n'y a pas de tâche dans la file d'attente, nous pouvons rechercher la sortie dans notre répertoire actuel. 

```
$ 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
```

 Dans la sortie, nous voyons un fichier `out` « ». Nous pouvons voir les résultats de notre travail : 

```
$ cat slurm-2.out
Hello World from queue1-dy-queue1t2micro-1
```

La sortie indique également que notre tâche a été exécutée avec succès sur l'instance `queue1-dy-queue1t2micro-1`.

Dans le cluster que vous venez de créer, seul le répertoire personnel est partagé entre tous les nœuds du cluster.

Pour en savoir plus sur la création et l'utilisation de clusters, consultez[Bonnes pratiques](best-practices-v3.md).

Si votre application nécessite le partage de logiciels, de bibliothèques ou de données, envisagez les options suivantes :
+ Créez une AMI personnalisée AWS ParallelCluster activée qui inclut votre logiciel, comme décrit dans[Création d'une version personnalisée AWS ParallelCluster AMI](building-custom-ami-v3.md).
+ Utilisez l'[StorageSettings](SharedStorage-v3.md)option du fichier AWS ParallelCluster de configuration pour spécifier un système de fichiers partagé et stocker les logiciels installés dans l'emplacement de montage spécifié.
+ Permet [Actions de bootstrap personnalisées](custom-bootstrap-actions-v3.md) d'automatiser la procédure d'amorçage de chaque nœud de votre cluster.