Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Ejecutar su primer trabajo en AWS ParallelCluster
Este tutorial te muestra cómo ejecutar tu primer trabajo en Hello World AWS ParallelCluster
Si utiliza la interfaz de línea de AWS ParallelCluster comandos (CLI) oAPI, solo paga por los AWS recursos que se crean al crear o actualizar AWS ParallelCluster imágenes y clústeres. Para obtener más información, consulte AWS servicios utilizados por AWS ParallelCluster.
La AWS ParallelCluster interfaz de usuario se basa en una arquitectura sin servidor y, en la mayoría de los casos, se puede utilizar en la categoría de capa AWS gratuita. Para obtener más información, consulte AWS ParallelCluster Costes de la interfaz.
Requisitos previos
-
AWS ParallelCluster está instalada.
-
AWS CLI está instalado y configurado.
-
Tienes un par de EC2 claves de Amazon.
-
Tiene un IAM rol con los permisos necesarios para ejecutar el pclusterCLI.
Comprobación de la instalación
En primer lugar, verificamos que AWS ParallelCluster esté correctamente instalada y configurada, incluida la dependencia de Node.js.
$
node --version
v16.8.0
$
pcluster version
{ "version": "3.7.0" }
Esto devuelve la versión en ejecución de AWS ParallelCluster.
Creación de su primer clúster
Ahora ha llegado el momento de crear su primer clúster. Debido a que la carga de trabajo de este tutorial no es excesiva, podemos usar el tamaño de instancia predeterminado de t2.micro
. (Para las cargas de trabajo de producción, puede elegir el tamaño de instancia que mejor se adapte a sus necesidades). Llamemos a su clúster hello-world
.
$
pcluster create-cluster \ --cluster-name hello-world \ --cluster-configuration hello-world.yaml
nota
Debe especificarse Región de AWS lo que se debe utilizar para la mayoría de pcluster
los comandos. Si no se especifica en la variable de entorno AWS_DEFAULT_REGION
, o el ajuste region
en la sección [default]
del archivo ~/.aws/config
, el parámetro --region
debe proporcionarse en la línea de comando pcluster
.
Si recibe un mensaje del resultado sobre la configuración, tiene que ejecutar lo siguiente para configurar :
$
pcluster configure --config hello-world.yaml
Si el comando pcluster create-cluster se ejecuta correctamente, verá un resultado similar al siguiente:
{ "cluster": { "clusterName": "hello-world", "cloudformationStackStatus": "CREATE_IN_PROGRESS", "cloudformationStackArn": "arn:aws:cloudformation:xxx:stack/xxx", "region": "...", "version": "...", "clusterStatus": "CREATE_IN_PROGRESS" } }
La creación del clúster se supervisa mediante:
$
pcluster describe-cluster --cluster-name hello-world
Los clusterStatus
informes "CREATE_IN_PROGRESS
" mientras se crea el clúster. clusterStatus
pasa a “CREATE_COMPLETE
” cuando el clúster se haya creado correctamente. El resultado también nos proporciona las publicIpAddress
y privateIpAddress
de nuestro nodo principal.
Inicio de sesión en su nodo principal
Utilice el archivo SSH pem abierto para iniciar sesión en el nodo principal.
$
pcluster ssh --cluster-name hello-world -i /path/to/keyfile.pem
Después de iniciar sesión, ejecute el comando sinfo
para comprobar que sus nodos de computación se instalan y configuran.
$
sinfo
PARTITION AVAIL TIMELIMIT NODES STATE NODELIST queue1* up infinite 10 idle~ queue1-dy-queue1t2micro-[1-10]
El resultado muestra que tenemos una cola en nuestro clúster, con hasta diez nodos.
Ejecución de su primer trabajo con Slurm
A continuación, creamos un trabajo que entra en suspensión durante un tiempo y luego genera su propio nombre de host. Cree un archivo denominado hellojob.sh
con el siguiente contenido.
#!/bin/bash sleep 30 echo "Hello World from $(hostname)"
A continuación, envíe el trabajo mediante sbatch
y compruebe que se ejecuta.
$
sbatch hellojob.sh
Submitted batch job 2
Ahora puede ver la cola y comprobar el estado del trabajo. El aprovisionamiento de una nueva EC2 instancia de Amazon se inicia en segundo plano. Puede monitorizar el estado de las instancias del clúster con el 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
El resultado muestra que se ha enviado el trabajo a queue1
. Espere 30 segundos a que el trabajo se termine y, a continuación, vuelva a ejecutar squeue
.
$
squeue
JOBID PARTITION NAME USER ST TIME NODES NODELIST(REASON)
Ahora que no hay trabajos en la cola, podemos comprobar el resultado en nuestro directorio actual.
$
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
En el resultado, vemos un archivo “out
”. Podemos ver el resultado de nuestro trabajo:
$
cat slurm-2.out
Hello World from queue1-dy-queue1t2micro-1
El resultado también muestra que nuestro trabajo se ha ejecutado correctamente en la instancia queue1-dy-queue1t2micro-1
.
En el clúster que acaba de crear, solo el directorio principal se comparte entre todos los nodos del clúster.
Para obtener más información acerca de la creación y el uso de clústeres, consulte Prácticas recomendadas.
Si la aplicación requiere software, bibliotecas o datos compartidos, considere las siguientes opciones:
-
Cree una personalización AWS ParallelCluster habilitada AMI que incluya su software, tal y como se describe enCreación de una costumbre AWS ParallelCluster AMI.
-
Utilice la StorageSettingsopción del archivo de AWS ParallelCluster configuración para especificar un sistema de archivos compartido y almacenar el software instalado en la ubicación de montaje especificada.
-
Use Acciones de arranque personalizadas para automatizar el procedimiento de arranque de cada nodo del clúster.