Recherche

Recommander

Images Aléatoires

Installation de Condor sous Linux Debian

‭        ‬Procédure d'installation du logiciel‭
CONDOR‭ ‬7.0.1




1-Introduction‭ ‬:

Condor est un logiciel de clustering organisé autour d'un scheduler capable de mutualiser les ressources de plsuieurs machine afin de construire un pool.


2-Principes de fonctionnement‭ ‬:

Condor est un gestionnaire de taches permettant de distribuer sur tout ou partie des nœuds d'un cluster des demandes de calcul.
Le logiciel est capable de prendre en compte différents paramètres tel que par exemple la mémoire utilisée,‭ ‬le cpu,‭ ‬l'activité processeur pour chaque nœud constituant le cluster.

Le logiciel est composé de deux parties distinctes‭ ‬:

A‭ ‬-‭ ‬Une partie Serveur‭ ‬:

Cette partie se charge d'accepter,‭ ‬organiser et repartir les demandes de calculs vers les nœuds selon leur disponibilité et leur compatibilité aux pré-requis propre aux jobs soumis.

B‭ ‬-‭ ‬Une partie Client‭ ‬:

Cette partie est en attente de réception de taches à effectuer.‭ ‬Elle est chargée de lancer le calcul,‭ ‬de le surveiller et de renseigner les différents fichiers de logs.‭ ‬Lorsque la tache arrive a son terme,‭ ‬le logiciel le signale au serveur ayant soumis le job.

Lorsque le calcul est termine le serveur met a jour les informations sur les nœuds et éventuellement prévient l'utilisateur par email.

C‭ ‬-‭ ‬Description des daemons‭ ‬:


condor_master‭     ‬:‭ ‬Permet de contrôler le fonctionnement de tous les autres daemons et vérifie a intervalle régulier qu’ils n'ont pas de défaillances.

condor_startd‭    ‬:‭ ‬Permet de mettre à disposition les ressources de la machine à disposition du cluster.‭ ‬Il tourne sur tous les nœuds.

condor_starter‭    ‬:‭ ‬Permet de démarrer un job et de le monitorer sur un nœud.‭ ‬Il tourne sur tous les nœuds.

condor_collector‭    ‬:‭ ‬Permet de collecter l’état de tous les nœuds du cluster.

condor_schedd‭    ‬:‭ ‬Gestionnaire de file d’attente des jobs à traiter dans le cluster.

condor_negociator‭    ‬:‭ ‬Attribut les jobs aux différents nœuds en fonction des informations données par‭ «‬ condor_collector ‭»‬.




3-Procédure d'installation du serveur:


Répertoires de travail‭ ‬:

Programme condor‭ ‬:‭ ‬/usr/local/condor
Utilisateur condor‭ ‬:‭ ‬/home/condor

Pré-requis‭ ‬:

-‭ ‬Pas d'utilisation de NFS et AFS.
-‭ ‬Pas de modification de la configuration du serveur et des nœuds.
-‭ ‬Réalisation d'une maquette fonctionnelle avec vmware.



INSTALLATION‭ ‬:


Montage du cdrom‭ ‬:
#sudo mount‭ ‬/dev/hdc‭ ‬/media/cdrom0

Copie des fichiers‭ ‬:
#cd‭ ‬/media/cdrom0/Debian
#cp condor.tar.gz‭ ‬/home/marousan

Extraction de l'archive‭ ‬:
#tar xzvf condor.tar.gz

Configuration du réseau‭ ‬:
#sudo vi‭ ‬/etc/network/interfaces

(Modification du masque et de l'IP et passage de dynamic a static‭)

Relance du reseau‭ ‬:
#sudo‭ ‬/etc/init.d/networking restart

Vérification de la configuration avec la commande‭ ‬:
#ifconfig



Rajout du compte‭ "‬condor‭" ‬sans mot de passe‭ ‬:

#sudo addgroup‭ ‬--gid‭ ‬113‭ ‬condor
#sudo adduser‭ ‬--disabled-password‭ ‬--gid‭ ‬113‭ ‬--uid‭ ‬113‭ ‬condor

Noter l'uid et le gid car ils serviront de référence pour créer les comptes condor sur les postes clients.




Creer les répertoires savant‭ ‬:

#‭ ‬sudo mkdir‭ ‬/usr/local/condorsudo‭ ‬./condor_install‭ ‬--prefix‭=‬/usr/local/condor‭ ‬--local-dir‭=‬/usr/local/condor/hosts/config-local‭ ‬--owner=condor‭ ‬--type=manager,submit

#‭ ‬sudo mkdir‭ ‬/usr/local/condor/hosts
#‭ ‬sudo mkdir‭ ‬/usr/local/condor/hosts/config-local


Lancement de l'installation du logiciel serveur:

#

Modification du fichier de configuration global‭ ‬:

Rajouter dans la PART‭ ‬1‭ ‬:

‭"‬##‭ ‬What machine is your central manager‭ ?" ‬:
CONDOR_HOST‭    =    ‬MASTER


Vérifier ensuite que les valeurs suivantes soient exactes‭ ‬:

RELEASE_DIR‭            =    ‬/usr/local/condor
LOCAL_DIR‭            =    ‬$‭(‬TILDE‭)
LOCAL_CONFIG_FILE‭        =    ‬/usr/local/condor/hosts/config-local/condor_config.local

CONDOR_ADMIN‭        =    ‬marousan@marousan.fr
MAIL‭                    =    ‬/usr/bin/mail
UID_DOMAIN‭            =    ‬$‭(‬FULL_HOSTNAME‭)
FILESYSTEM_DOMAIN‭    =    ‬$‭(‬FULL_HOSTNAME‭)
COLLECTOR_NAME‭        =    ‬POOLTEST






Modifiez dans la PART‭ ‬2‭ ‬:

Commentez la ligne‭ ‬:

HOSTALLOW_WRITE‭ = ‬YOU MUST‭ ‬...
en
##‭ ‬HOSTALLOW_WRITE‭ = ‬YOU MUST‭ ‬...


De commenter la ligne‭ ‬:

##‭ ‬HOSTALOW_WRITE‭ = *
en‭
HOSTALOW_WRITE‭ = *

Modifiez dans la PART‭ ‬3‭ ‬:


‭       ‬START‭ = ‬$‭(‬UWCS_START‭)
            SUSPEND‭ = ‬$‭(‬UWCS_SUSPEND‭)
            CONTINUE‭ = ‬$‭(‬UWCS_CONTINUE‭)
            PREEMPT‭ = ‬$‭(‬UWCS_PREEMPT‭)
            KILL‭ = ‬$‭(‬UWCS_KILL‭)

Par‭ ‬:

‭            ‬#START‭ = ‬$‭(‬UWCS_START‭)
            START‭ = ‬True
‭            ‬#SUSPEND‭ = ‬$‭(‬UWCS_SUSPEND‭)
            #CONTINUE‭ = ‬$‭(‬UWCS_CONTINUE‭)
            #PREEMPT‭ = ‬$‭(‬UWCS_PREEMPT‭)
            SUSPEND‭ = ‬False
‭            ‬CONTINUE‭ = ‬True
‭            ‬PREEMPT‭ = ‬False
‭            ‬#KILL‭ = ‬$‭(‬UWCS_KILL‭)
            KILL‭ = ‬$‭(‬ActivityTimer‭) > ‬$‭(‬MaxVacateTime‭)
            #PREEMPTION_REQUIREMENTS‭ = ‬$‭(‬UWCS_PREEMPTION_REQUIREMENTS‭) 
            PREEMPTION_REQUIREMENTS=False

Cela permet d'exécuter des jobs,‭ ‬même si les machines sont utilises ou qu'il y a une utilisation du clavier ou de la souris.

Ne pas changer les autres paramètres du fichier.






Modification du fichier de configuration local‭ ‬:

CONDOR_HOST‭        =    ‬MASTER
RELEASE_DIR‭        =    ‬/usr/local/condor
LOCAL_DIR‭        =    ‬/usr/local/condor/hosts/config-local
CONDOR_ADMIN‭    =    ‬marousan@marousan.fr
UID_DOMAIN‭        =    ‬$‭(‬FULL_HOSTNAME‭)
FILESYSTEM_DOMAIN‭=    ‬$‭(‬FULL_HOSTNAME‭)
CONDOR_IDS‭        =    ‬113.113
DAEMON_LIST‭        =    ‬COLLECTOR,‭ ‬MASTER,‭ ‬NEGOTIATOR,‭ ‬SCHEDD

Ne pas changer les autres paramètres du fichier.






Création d'un fichier‭ ‬.bash_profile dans le répertoire‭ ‬/home/condor‭ ‬:

Contenu du fichier‭ ‬:

CONDOR‭=‬/usr/local/condor‭
                ‬CONDOR_CONFIG‭=‬/usr/local/condor/etc/condor_config‭
                ‬PATH‭=‬$PATH:$CONDOR/bin:$CONDOR/sbin:‭
                ‬export CONDOR CONDOR_CONFIG

Prise en compte des changements en lançant la commande suivante‭ ‬:

‭ ‬#source‭ ‬.bash_profile


Modification des droits sur les répertoires de travail dans lesquels doit écrire l'utilisateur condor‭ ‬:

#chown condor‭ ‬/usr/local/condor/hosts/config-local/execute
#chown condor‭ ‬/usr/local/condor/hosts/config-local/log
#chown condor‭ ‬/usr/local/condor/hosts/config-local/spool

Il faut également rajouter les autorisations en écriture pour OTHERS pour les répertoires précédents‭ ‬:

#sudo chmod‭ ‬-R o+W‭ ‬/usr/local/condor/hosts/config-local/execute
#sudo chmod‭ ‬-R o+W‭ ‬/usr/local/condor/hosts/config-local/log
#sudo chmod‭ ‬-R o+W‭ ‬/usr/local/condor/hosts/config-local/spool


Modifier les ID dans les fichiers de configuration locaux et globaux du Master et des nodes.


Lancement du programme‭ ‬:

Le programme peut-enfin être lance sur le central-manager avec la commande‭ ‬:‭

#condor_master

Pour vérifier que les processus sont bien lances il suffit de lancer la commande suivante‭ ‬:

#ps‭ ‬-edf‭ | ‬grep condor‭_



Les daemons censés tourner sont‭ ‬:

condor_master
condor_collector
condor_negotiator
condor_schedd
condor_startd‭ (‬pas indispensable si la machine n'exécute pas de job‭)
condor_procd


Afin de vérifier que la connexion au poste MASTER fonctionne il suffit de faire un telnet vers le port utilise par le daemon collector sur le port‭ ‬9618‭ ‬a partir d'un des futurs nœuds‭ ‬:

#telnet MASTER‭ ‬9618
Ou
#telnet adresse-ip‭ ‬9618


4-Procédure d'installation des nœuds du cluster‭ ‬:

Nous n'avons à installer qu'un seul nœud type dont récupérerons le répertoire d'installation qui sera distribue sur tous les nœuds a partir d'un serveur de fichier.

L'installation se passe de manière identique sauf pour les éléments suivants‭ ‬:

La création de l'utilisateur local‭ "‬condor‭" ‬doit être effectuée avec les UID et GID que sur le serveur,‭ ‬ici en l'occurrence‭ ‬113.113‭ ‬car ils sont renseignes dans les fichiers de configuration globaux et locaux:

#sudo addgroup‭ ‬--gid‭ ‬113‭ ‬condor
#sudo adduser‭ ‬--disabled-password‭ ‬--uid‭ ‬113‭ ‬--gid‭ ‬113‭ ‬condor


Lancement de l'installation du logiciel serveur:

#sudo‭ ‬./condor_install‭ ‬--prefix‭=‬/usr/local/condor‭ ‬--local-dir‭=‬/usr/local/condor/hosts/config-local‭ ‬--owner=condor‭ ‬--type‭=‬execute,submit

Modification du fichier de configuration global‭ ‬:

Pas besoin de modifier ce fichier,‭ ‬il suffit de copier le fichier déjà modifie sur le serveur car il doit être identique sur tous les nœuds et le serveur.


Pour le reste la procédure est identique.

Les daemons censés tourner sur les nœuds sont les suivants :

    condor_master
    condor_schedd
    condor_startd



5-‭ ‬Création et exécution d'un job‭ ‬:



Création du fichier de soumission du job‭ ‬:
#touch test.submit

Editez le fichier et remplissez-le avec les valeurs ci-dessous‭ ‬:

universe‭ = ‬vanilla
executable‭ = ‬/bin/ls
output‭ = ‬test.out
error‭ = ‬test.error
log‭ = ‬test.log
should_transfer_files‭ = ‬IF_NEEDED
WhenToTransferOutput‭ = ‬ON_EXIT
queue

Lancement du job‭ ‬:
#condor_submit test.submit

On peut vérifier la mise en queue du job grâce la commande suivante‭ ‬:
#condor_q

Des variantes plus explicites existent en lançant par exemple la commande‭ ‬:
#condor_q‭ ‬-l


Pour vérifier le statut des nœuds utilisez la commande‭ ‬:
#condor_status

Des variantes plus explicites existent en lançant par exemple la commande‭ ‬:
#condor_status‭ ‬-better-analyze
Ou encore
#condor_status‭ ‬-l

Pour supprimer un job on peut utiliser la commande‭ ‬:
#condor_rm num_job

Pour avoir le numéro du job à supprimer représente ici par‭ "‬num_job‭" ‬il faut bien entendu effectuer un‭ "‬condor_q‭" ‬au préalable.
 
Créer un blog sur over-blog.com - Contact - C.G.U. - Rémunération en droits d'auteur - Signaler un abus - Articles les plus commentés