GuiaInstalacionCondor-G.doc (236 KB)
Este documento describe conceptos básicos del sistema Cóndor-G, cómo se relaciona con Globus y cómo lo podemos incorporar como herramienta en nuestro proyecto Grid Computing con el Laboratorio de Sistemas Complejos de la UBA.
Los siguientes términos y abreviaturas son utilizados en el presente documento:
Término o Abreviatura |
Definición |
A continuación se detallan los documentos relacionados:
Documento |
Descripción |
La habilidad de las comunidades de compartir recursos a través de grids se convirtió en una importante faceta de la computación. Condor-G es la conjunción de tecnologías del proyecto Condor y el proyecto Globus.
El sistema Condor-G se concentró en dos áreas diferentes:
1) seguridad y acceso a recursos en un ambiente multi-dominio, de la misma forma que Globus Toolkit
2) administración de cómputos y recursos dentro de un único dominio administrativo, incorporado dentro del sistema Cóndor.
Cóndor-G combina los protocolos de administración de recursos inter-dominio de Globus y los métodos de administración de jobs intra-dominio de Cóndor para permitir al usuario manejar recursos multi-dominio como si pertenecieran a uno único.
Cóndor-G provee al grid de un poderoso administrador de tareas. Usado como front-end de un grid, Cóndor-G puede administrar miles de jobs destinados a ejecutarse en sitios distribuídos. Provee de monitoreo de jobs, logueo, notificación, refuerzo de políticas, tolerancia a fallas, administración de credenciales y puede manejar interdependiencias de jobs complejas. Los comandos intuitivos y flexibles de Condor-G son apropiados para ser usados directamente por usuarios finales, o para interfaces de portales web.
execute . Este es el directorio de trabajo para cualquier job que corra en una máquina. El binario para el job remoto es copiado a este directorio, Condor no enviará un job a una máquina que no tenga suficiente espacio.
Si ocurre un dump core, primero lo tira en este directorio y luego lo devuelve a la máquina origen.
spool . Este directorio mantiene la cola de jobs y archivos de historial, junto con los archivos checkpoint (ejecutables para todos los clusters que se envían a ejecutar) para todos los jobs enviados desde una máquina.
log . Este directorio es usado por los demonios de Condor para escribir sus propios logs. Se puede especificar el tamaño hasta el cual pueden crecer antes de ser rotados. Si existe un network filesystem, este directorio puede configurarse en un directorio compartido. Si se quisiera tener esta configuración, debe especificarse además una partición para el directorio lock .
El archivo de configuración global es compartido por todas las máquinas del pool. Este archivo debe ser colocado en un file system compartido de ser posible.
Además existe un archivo de configuración para cada máquina donde pueden sobreescribirse configuraciones del archivo global.
Condor primero busca el archivo global en el siguiente orden:
1.- archivo especificado en la variable CONDOR_CONFIG (nota: si hay un error leyendo esta variable, dará error y no se continuará buscando en los siguientes)
2.- /etc/condor/condor_config
3.- ~condor/condor_config
4.- $(GLOBUS_LOCATION)/etc/condor_config
Luego Condor busca el archivo de configuración local, que es especificado con la macro LOCAL_CONFIG_FILE del archivo de configuración local.
Por último se buscan los archivos de configuración raíz en:
1.- /etc/condor/condor_config.root
2.- ~condor/condor_config.root
Los archivos de configuración raíz local son buscados según la macro LOCAL_ROOT_CONFIG_FILE. Si no se encuentra, no se utiliza ningún archivo de configuración raíz local.
Descargar los binarios de Condor de http://www.cs.wisc.edu/condor/downloads/ .
Descomprimir el archivo a un directorio
tar -xzf archivoCondorBinario.tar.gz
Ir al directorio generado y ejecutar el comando condor_configure con los siguientes parámetros:
condor_configure --install --install-dir=/path/to/install --local-dir=/home/condor --owner=condor --type=submit,execute,manager [--central-manager=<host>]
Los parámetros que se especifican son los siguientes:
--install
Instalación que asume que el archivo release.tar está en el directorio.
--instal-dir
Especifica el directorio donde se va a instalar Condor
--local-dir
Especifica la dirección del directorio local, que generalmente contiene el archivo de configuración local así como los demonios de Condor escriben información de la ejecución.
--owner
Es el usuario bajo el cual van a correr los demonios de Condor.
--type
Determina los roles que tenga la máquina en un pool. En general cualquier máquina puede hacer submit y/o execute, y existe un administrador central por pool.
--central-manager
Para nodos no administradores, especifica cuál es el host administrador central.
Cuando finaliza la ejecución se debe configurar la variable
CONDOR_CONFIG=[/path/to/install]/etc/condor_config
antes de ejecutar cualquier comando/demonio Condor.
Se deben controlar las primeras dos secciones del archivo condor_config. En particular se puede querer configurar la seguridad de Condor.
Se puede además configurar el monitoreo de la actividad del mouse y teclado, si se indica dónde buscar. Esto se hace con la entrada CONSOLE_DEVICES en la sección condor_startd del archivo de configuración. Por ejemplo, el dispositivo default para el mouse es 'mouse' en Linux.
Configurar al menos la parte 1 de archivo condor_config (se adjunta la impresión del archivo)
Condor necesita encontrar el archivo utmp, este archivo debería estar en /var/run/utmp, o en /var/adm/utmp.
<directorio instalación>/sbin/condor_master
Este demonio tiene como única tarea asegurarse de que los otros demonios Condor estén corriendo.
Si se está configurando un pool propio, se debe iniciar Condor en el host administrador primero. Para asegurar que Condor se esté ejecutando, se puede correr
ps -ef | egrep condor_
En el administrador se debe ver
en las otras máquinas del pool se debe ver
Para ver el estado de cada máquina en el pool se puede ejecutar condor_status.
Cuando Condor esté ejecutándose correctamente se debe agregar condor_master en los scripts de arranque (Ej /etc/rc)