Ejecución del primer trabajo en AWS ParallelCluster - AWS ParallelCluster

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.

Ejecución del primer trabajo en AWS ParallelCluster

Este tutorial le guía por la ejecución de su primer trabajo Hello World en AWS ParallelCluster.

Requisitos previos

Comprobación de la instalación

En primer lugar, comprobamos que AWS ParallelCluster esté instalado y configurado correctamente.

$ pcluster version

Esto devuelve la versión en ejecución de AWS ParallelCluster. Si recibe un mensaje del resultado sobre la configuración, tiene que ejecutar lo siguiente para configurarAWS ParallelCluster:

$ pcluster configure

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 hello-world

Al crearse el clúster, verá un resultado parecido al siguiente:

Starting: hello-world Status: parallelcluster-hello-world - CREATE_COMPLETE MasterPublicIP = 54.148.x.x ClusterUser: ec2-user MasterPrivateIP = 192.168.x.x GangliaPrivateURL = http://192.168.x.x/ganglia/ GangliaPublicURL = http://54.148.x.x/ganglia/

El mensaje CREATE_COMPLETE muestra que el clúster se ha creado correctamente. El resultado también nos proporciona las direcciones IP públicas y privadas de nuestro nodo principal. Necesitamos esta IP para iniciar sesión.

Iniciar sesión en el nodo principal

Utilice su archivo pem de OpenSSH para iniciar sesión en el nodo principal.

pcluster ssh hello-world -i /path/to/keyfile.pem

Después de iniciar sesión, ejecute el comando qhost para comprobar que sus nodos de computación se instalan y configuran.

$ qhost HOSTNAME ARCH NCPU NSOC NCOR NTHR LOAD MEMTOT MEMUSE SWAPTO SWAPUS ---------------------------------------------------------------------------------------------- global - - - - - - - - - - ip-192-168-1-125 lx-amd64 2 1 2 2 0.15 3.7G 130.8M 1024.0M 0.0 ip-192-168-1-126 lx-amd64 2 1 2 2 0.15 3.7G 130.8M 1024.0M 0.0

El resultado muestra que tenemos dos nodos de computación en nuestro clúster, ambos con subprocesos disponibles.

Ejecución de su primer trabajo con SGE

nota

Este ejemplo solo se aplica aAWS ParallelClusterversiones hasta la versión 2.11.4 incluida. A partir de la versión 2.11.5,AWS ParallelClusterno admite el uso deSGEoTorqueprogramadores.

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 qsub y compruebe que se ejecuta.

$ qsub hellojob.sh Your job 1 ("hellojob.sh") has been submitted

Ahora puede ver la cola y comprobar el estado del trabajo.

$ qstat job-ID prior name user state submit/start at queue slots ja-task-ID ----------------------------------------------------------------------------------------------------------------- 1 0.55500 hellojob.s ec2-user r 03/24/2015 22:23:48 all.q@ip-192-168-1-125.us-west 1

El resultado muestra que el trabajo se encuentra actualmente en estado de ejecución. Espere 30 segundos a que el trabajo se termine y, a continuación, vuelva a ejecutar qstat.

$ qstat $

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 48 Mar 24 22:34 hellojob.sh -rw-r--r-- 1 ec2-user ec2-user 0 Mar 24 22:34 hellojob.sh.e1 -rw-r--r-- 1 ec2-user ec2-user 34 Mar 24 22:34 hellojob.sh.o1

En el resultado, vemos un archivo "e1" y "o1" en nuestro script de trabajo. Ya que lae1está vacío, stderr no ha generado respuesta. Si vemos el archivo o1, podemos ver el resultado que nuestro trabajo ha generado.

$ cat hellojob.sh.o1 Hello World from ip-192-168-1-125

El resultado también muestra que nuestro trabajo se ha ejecutado correctamente en la instancia ip-192-168-1-125.

Para obtener más información sobre la creación y el uso de clústeres, consultePrácticas recomendadas.