Diferencia entre revisiones de «Oracle Grid Engine»
(→Instalación) |
|||
(2 revisiones intermedias por el mismo usuario no mostrado) | |||
Línea 44: | Línea 44: | ||
En la primera pantalla se eligen los componentes y el metodo de instalación, rapida o personalizada. Nosotros elegimos personalizada | En la primera pantalla se eligen los componentes y el metodo de instalación, rapida o personalizada. Nosotros elegimos personalizada | ||
+ | |||
+ | [[Archivo:02 - instalacion - tip de instalacion.png]] | ||
En la siguiente se pone la configuración principal, donde vamos a destacar que el '''Admin user''' es root, que el rango de '''Group ID''' va desde el 60000 hasta el 62999 (esta configuracion va relacionada con el numero de jobs concurrentes que se pueden ejecutar ¿?¿?) | En la siguiente se pone la configuración principal, donde vamos a destacar que el '''Admin user''' es root, que el rango de '''Group ID''' va desde el 60000 hasta el 62999 (esta configuracion va relacionada con el numero de jobs concurrentes que se pueden ejecutar ¿?¿?) | ||
+ | |||
+ | [[Archivo:03 - instalacion - configuracion principal.png]] | ||
La siguiente pantalla va de la configuración de JMX. En esta se especifica que el puerto JMX, dejamos por defecto el 6446, y tambien el path para un keystore en '''/var/sgeCA/port6444/default/private/keystore'''. La contraseña que hemos puesto al keystore es sistemas | La siguiente pantalla va de la configuración de JMX. En esta se especifica que el puerto JMX, dejamos por defecto el 6446, y tambien el path para un keystore en '''/var/sgeCA/port6444/default/private/keystore'''. La contraseña que hemos puesto al keystore es sistemas | ||
+ | |||
+ | [[Archivo:04 - instalacion - configuracion jmx.png]] | ||
La siguiente pantalla es la configuración de los spools. Destacamos que el directorio del spool qmaster es '''/opt/oge/default/spool/qmaster''' y que el directorio del Global execd spool es '''/opt/oge/default/spool'''. Tambien, elegimos que el metodo de spooling es '''berkeley db''' y que el directorio de esa DB es '''/opt/oge/default/spool/spooldb''' | La siguiente pantalla es la configuración de los spools. Destacamos que el directorio del spool qmaster es '''/opt/oge/default/spool/qmaster''' y que el directorio del Global execd spool es '''/opt/oge/default/spool'''. Tambien, elegimos que el metodo de spooling es '''berkeley db''' y que el directorio de esa DB es '''/opt/oge/default/spool/spooldb''' | ||
+ | |||
+ | [[Archivo:05 - instalacion - configuracion spools.png]] | ||
La siguiente es para la configuración de los parámetros del certificado SSL. | La siguiente es para la configuración de los parámetros del certificado SSL. | ||
+ | |||
+ | [[Archivo:06 - instalacion - configuracion certificado SSL.png]] | ||
En la siguiente configuración se eligen los servidores en los que se va a hacer instalación. En nuestro ejemplo, llegados a este punto, he añadido una nueva máquina a este manual, sge8lnx. | En la siguiente configuración se eligen los servidores en los que se va a hacer instalación. En nuestro ejemplo, llegados a este punto, he añadido una nueva máquina a este manual, sge8lnx. | ||
+ | |||
+ | [[Archivo:07 - instalacion - selección de hosts.png]] | ||
''Nota: Para que funcione la instalación he tenido que generar una clave rsa en sge7lnx, que es desde donde lanzo la instalación, y he actualizado el authorized_keys de las dos máqiunas (incluida ella misma) con esa clave publica.'' | ''Nota: Para que funcione la instalación he tenido que generar una clave rsa en sge7lnx, que es desde donde lanzo la instalación, y he actualizado el authorized_keys de las dos máqiunas (incluida ella misma) con esa clave publica.'' | ||
− | En la siguiente pantalla apareceran todas las tareas de la instalación y el estado en el que están. | + | En la siguiente pantalla apareceran todas las tareas de la instalación y el estado en el que están. Una vez finalizado tendremos nuestro cluster funcionando. |
+ | |||
+ | ''Nota: En este punto me ha fallado la instalación. Lo que ha fallado es la instalacion de execution host en el sge8lnx, el segundo servidor.'' | ||
+ | |||
+ | |||
+ | = Algunas comprobaciones = | ||
+ | |||
+ | == Una ejecución de prueba == | ||
+ | En el propio directorio de instalación van unos cuantos scripts de ejemplo. Para lanzar la ejecución de uno de esos scripts nos conectamos al master y ejecutamos lo siguiente: | ||
+ | |||
+ | <pre> | ||
+ | ]# qsub /opt/oge/examples/jobs/simple.sh | ||
+ | </pre> | ||
+ | |||
+ | Para ver que se está en la cola de ejecución podemos usar el comando qstat | ||
− | + | <pre> | |
+ | [root@sge7lnx common]# qstat | ||
+ | job-ID prior name user state submit/start at queue slots ja-task-ID | ||
+ | ----------------------------------------------------------------------------------------------------------------- | ||
+ | 1 0.55500 simple.sh root r 04/23/2013 17:45:21 all.q@sge7lnx.test.prisadigita 1 | ||
+ | </pre> |
Última revisión de 16:29 23 abr 2013
Contenido
Introduccion
Apuntes sobre mi investigación de como montar un servicio de OGE, partiendo de la base de que ya tenemos un servicio SGE funcionando. Se trata de crear una plataforma en paralelo que finalmente haga el mismo servicio que hacía nuestro SGE.
El servicio de OGE trata de realizar trabajos de forma distribuida (DRM Distributed Resource Management) teniendo en cuenta nivel de ocupación de recursos. En nuestro caso, lo usamos para crear colas de trabajos distribuidas entre ciertos servidores de ejecución.
Referencias
Documentacion oficial de Oracle
Servidores y roles
En un cluster de SGE existen varios roles entre los servidores que van a realizar las tareas
- Master host: el servidor que gestiona al resto de servidores, es el que gestiona las colas
- Shadow Master: servidor master de reserva. Solo se activa cuando falla el master host
- Execution host: servidores que ejecutan las tareas.
- Administration host: Aplicaciones de operacion y administración sobre las colas de OGE. Por defecto la instalacion del master host hace que sea tambien un administration host.
- Submit host: Equipos que pueden lanzar y controlar tareas en las colas.
Instalación
Sistema de ficheros compartido
SGE se basa en tener compartido entre los diferentes hosts que van a ejecutar los trabajos las colas de ejecución. De hecho nosotros vamos a hacer la instalación de los binarios en un NFS que estará compartido entre todas las máquinas implicadas en la ejecución de tareas.
Hemos creado una exportación NFS (en mi ejemplo es /vol/pruebas/oge) que se podrá montar entre todas las máquinas que usaremos.
En cada máquina añadiremos una entrada en /etc/fstab para montar de forma automática este sistema de ficheros, algo como esto:
# NFS compartido de aplicacion de SGE <ip_filer>:/vol/pruebas/oge /opt/oge nfs rsize=32768,wsize=32768,hard,bg,tcp,intr,vers=3,noatime,nocto,nolock,nodiratime 0 0
Descarga de instalables
Para la descarga del instalable podemos acudir a la página de OGE en Oracle. Descargamos un zip en el que van incluidos todos los binarios para las diferentes plataformas. Este zip lo he descomprimido en /usr/src/oge
Preparando la instalación
Para la instalación sobre Linux de 64 bits se usará el directorio en el que hemos montado el export NFS /opt/oge y dentro de este se descomprime, primero el fichero /usr/src/oge/oge-6_2u7-common.tar.gz y después el /usr/src/oge/oge-6_2u7-bin-linux24-x64.tar.gz. Con esto estaremos preparados para realizar la instalacion del SGE.
Instalacion de JDK
Nos va a hacer falta java para la instalación con consola, así que he descargado la version de 64bit de jdk desde la página de oracle y he modificado el /etc/bashrc de mi Centos para añadir la variable de entorno JAVA_HOME y añadir la ruta de los binarios de java al PATH. La instalación de JAVA la he hecho en /opt/java.
Instalación con GUI
En la primera pantalla se eligen los componentes y el metodo de instalación, rapida o personalizada. Nosotros elegimos personalizada
En la siguiente se pone la configuración principal, donde vamos a destacar que el Admin user es root, que el rango de Group ID va desde el 60000 hasta el 62999 (esta configuracion va relacionada con el numero de jobs concurrentes que se pueden ejecutar ¿?¿?)
La siguiente pantalla va de la configuración de JMX. En esta se especifica que el puerto JMX, dejamos por defecto el 6446, y tambien el path para un keystore en /var/sgeCA/port6444/default/private/keystore. La contraseña que hemos puesto al keystore es sistemas
La siguiente pantalla es la configuración de los spools. Destacamos que el directorio del spool qmaster es /opt/oge/default/spool/qmaster y que el directorio del Global execd spool es /opt/oge/default/spool. Tambien, elegimos que el metodo de spooling es berkeley db y que el directorio de esa DB es /opt/oge/default/spool/spooldb
La siguiente es para la configuración de los parámetros del certificado SSL.
En la siguiente configuración se eligen los servidores en los que se va a hacer instalación. En nuestro ejemplo, llegados a este punto, he añadido una nueva máquina a este manual, sge8lnx.
Nota: Para que funcione la instalación he tenido que generar una clave rsa en sge7lnx, que es desde donde lanzo la instalación, y he actualizado el authorized_keys de las dos máqiunas (incluida ella misma) con esa clave publica.
En la siguiente pantalla apareceran todas las tareas de la instalación y el estado en el que están. Una vez finalizado tendremos nuestro cluster funcionando.
Nota: En este punto me ha fallado la instalación. Lo que ha fallado es la instalacion de execution host en el sge8lnx, el segundo servidor.
Algunas comprobaciones
Una ejecución de prueba
En el propio directorio de instalación van unos cuantos scripts de ejemplo. Para lanzar la ejecución de uno de esos scripts nos conectamos al master y ejecutamos lo siguiente:
]# qsub /opt/oge/examples/jobs/simple.sh
Para ver que se está en la cola de ejecución podemos usar el comando qstat
[root@sge7lnx common]# qstat job-ID prior name user state submit/start at queue slots ja-task-ID ----------------------------------------------------------------------------------------------------------------- 1 0.55500 simple.sh root r 04/23/2013 17:45:21 all.q@sge7lnx.test.prisadigita 1