Preparación del trabajo
En primer lugar, debemos conectarnos al User Interface (UI), que en nuestro caso es ui.egee.cesga.es.
Vamos a enviar al grid un trabajo muy sencillo, un script que devuelve el nombre del nodo y un listado de sus archivos. Para lanzar el trabajo son necesarios dos ficheros: el fichero que contiene el script (test.sh) y el fichero que describe el trabajo (test.jdl).
test.sh
#! /bin/bash
/bin/hostname -f
echo 'pwd'
ls >output.txt
test.jdl
Executable = "test.sh";
StdOutput = "test.out";
StdError = "test.err";
InputSandbox = {"test.sh"};
OutputSandbox = {"test.out","test.err","output.txt"};
Requirements = (other.GlueCEInfoHostName == "ce.macc.unican.es");
Los ficheros *.jdl siempre serán de esta forma donde
- Executable indica el script que se quiere ejecutar
- StdOuptut el nombre del fichero donde se guardará la salida estándard del programa
- StdError el nombre del fichero donde se guardará la salida de error del programa
- InputSandbox deberá contener los nombres de todos los ficheros que haga falta copiar al nodo donde se va a ejecutar el trabajo
- OutputSandbox indica los ficheros que se quieren copiar de vuelta una vez que acabe el trabajo
Una vez creados los ficheros, el siguiente paso será crear un proxy (si aún no lo tenemos) válido para la VO imath.cesga.es utilizando el siguiente comando:
$ voms-proxy-init -voms imath.cesga.es
Arriba
Envío del trabajo
Para enviar el trabajo al grid, se debe ejecutar el siguiente comando:
$ edg-job-submit test.jdl
Este comando nos muestra una URL que es el descriptor de nuestro trabajo. A continuación podemos ver un ejemplo:
Selected Virtual Organisation name (from proxy certificate extension): imath.cesga.es
Connecting to host test01.egee.cesga.es, port 7772
Logging to host test01.egee.cesga.es, port 9002
*********************************************************************************************
JOB SUBMIT OUTCOME
The job has been successfully submitted to the Network Server.
Use edg-job-status command to check job current status. Your job identifier (edg_jobId) is:
- https://test01.egee.cesga.es:9000/wGU6yMtqBtMumS4LLF6GQ
*********************************************************************************************
Debemos apuntar o guardar este identificador para poder ver más tarde el estado del trabajo y recuperar su salida. Una forma fácil de hacerlo es usando el parámetro -o con un nombre de fichero que será donde guarde este descriptor:
$ edg-job-submit -o test.jid test.jdl
Arriba
Comprobación del estado del trabajo
Con el siguiente comando podemos ver el estado de nuestro trabajo:
$ edg-job-status <identificador de trabajo>
sustituyendo <identificador de trabajo> por el identificador que nos había devuelto el comando anterior, o bien, si hemos optado por la opción de guardar el identificador en un fichero:
$ edg-job-status -i test.jid
En
las siguientes líneas podemos ver un ejemplo de lo que devuelve el comando anterior:
*************************************************************
BOOKKEEPING INFORMATION:
Status info for the Job : https://test01.egee.cesga.es:9000/wGU6yMtqBtMumS4LLF6GQ
Current Status: Done (Success)
Exit code: 0
Status Reason: Job terminated successfully
Destination: ce.macc.unican.es:2119/jobmanager-lcgpbs-imath
reached on: Tue Sep 4 12:27:31 2007
*************************************************************
En este caso el estado es Done (Success) lo cual nos indica que nuestro trabajo ha finalizado correctamente y que podemos proceder a recoger la salida del trabajo.
Otros posibles estados son:
- Ready: El trabajo se ha enviado correctamente al Resource Broker.
- Scheduled: Se encuentra en la cola del CE.
- Running: Está ejecutándose en una máquina.
Arriba
Recuperación de la salida del trabajo
Para recoger la salida usaremos el comando:
$ edg-job-get-output <identificador de trabajo>
o bien, si hemos guardado el identificador en un fichero:
$ edg-job-get-output -i test.jid
Este comando descargará los ficheros de salida y los dejará en el directorio que nos indica:
*********************************************************************************
JOB GET OUTPUT OUTCOME
Output sandbox files for the job:
- https://test01.egee.cesga.es:9000/wGU6yMtqBtMumS4LLF6GQ
have been successfully retrieved and stored in the directory:
/home/teresa/jobOutput/teresa_wGU6yMtqBtMumS4LLF6GQ
*********************************************************************************
En este caso, nos devuelve tres ficheros. En el fichero output.txt estará el listado de la máquina. Los otros dos ficheros nos pueden valer para obtener información sobre como se ejecutó el trabajo.
Arriba
prueba
|