

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écution de votre premier job sur AWS ParallelCluster
<a name="tutorials-running-your-first-job-on-version-3"></a>

Ce didacticiel vous explique comment exécuter votre première tâche 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 possédez une paire de [clés Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html).
+ Vous disposez d'un rôle IAM doté des [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 dépendance Node.js. 

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

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**  
Le Région AWS à utiliser doit être spécifié 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 dans la `[default]` section du `~/.aws/config` fichier, le `--region` paramètre doit être fourni sur la ligne de `pcluster` commande.

Si le résultat affiche un message concernant la configuration, vous devez exécuter ce qui suit 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 à ce qui suit : 

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

 Vous surveillez la création du cluster à l'aide de : 

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

 Les `clusterStatus` rapports « `CREATE_IN_PROGRESS` » lors de la création du cluster. Il `clusterStatus` passe à « `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]
```

 Le résultat indique que nous avons une file d'attente dans notre cluster, avec jusqu'à dix nœuds. 

## Exécution de votre première tâche 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 démarre 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
```

 La sortie indique que le travail a été soumis à`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 le résultat, 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 de base 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 AWS ParallelCluster AMI personnalisée](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 le logiciel installé dans l'emplacement de montage indiqué.
+ [Actions de bootstrap personnalisées](custom-bootstrap-actions-v3.md)À utiliser pour automatiser la procédure d'amorçage de chaque nœud de votre cluster.