logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Créer un cluster Condor

Introduction

Condor est un programme disponible dans les dépots Debian permettant la mise en cluster d'ordinateur. Il permet, moyennant la création d'un fichier de description, de distribuer des taches à travers divers ordinateurs de manière automatique.

Installation

Il faut installer Condor sur touteles machines concernées :

apt-get -y install htcondor

Ne pas effectuer de configuration automatique! Je n'ai rien obtenu de valable avec.

Si vous avez effectué une configuration automatique :

apt-get -y purge htcondor && apt-get -y install htcondor

Extrême, mais cela a le mérite d'être clair!

Paramètrage

Ici, nous allons paramètrer les ordinateurs du cluster de telle manière qu'un d'entre eux soumette du travail et que les autres executent. Celui qui soumet est appelé serveur de batch, les autres sont des noeud de travail (work node).

Il est tout a fait possible d'avoir un cluster composé de noeuds qui peuvent, à la fois soumettre du boulot et en recevoir. Il suffit d'adapter les daemons chargés en modifiant les fichiers de configurations. Aussi, Condor peut fonctionner sur une seule machine. cela n'a pas beaucoup d'interet, mais permet de faire vos premiers essais. Dans ce cas de figure, tou les daemons sont chargés.

Avant de modifier les fichiers de configuration :

service condor stop

Une fois les modifications terminées :

service condor start

commencer par redémarrer le serveur de batch!

Il faut modifier le fichier condor_config des noeuds de travail pour qu'ils disposent tous de ces lignes :

nano /etc/condor/condor_config
# daemon d'une work_node
DAEMON_LIST = STARTD, MASTER
# quantité de mémoire que condor ne devra pas utiliser
RESERVED_MEMORY =
# IP du serveur de batch
CONDOR_HOST = 192.168.XX.XX
# Permettre à toute les machines du réseau local de soumettre des taches : 192.*
ALLOW_WRITE = $(CONDOR_HOST) $(IP_ADDRESS) 192.*
# Permettre à toute les machines du réseau locale d'être gestionnaire : 192.*
ALLOW_NEGOTIATOR = $(CONDOR_HOST) $(IP_ADDRESS) 192.*

De la même manière, il faut modifier les même lignes du condor_config du serveur de batch :

nano /etc/condor/condor_config
# daemon du serveur de batch
DAEMON_LIST = COLLECTOR, NEGOTIATOR, SCHEDD, MASTER
# pas indispensable dans un réseau domestique
# peut etre davantage si vous avez beaucoup de machine
RESERVED_MEMORY =
# IP du serveur de batch (cette machine)
CONDOR_HOST = 192.168.XX.XX
# Permettre à toute les machines du réseau local de soumettre des taches : 192.*
ALLOW_WRITE = $(CONDOR_HOST) $(IP_ADDRESS) 192.*
# Etant donnéque cette machine est le gestionnaire central : 127.*
ALLOW_NEGOTIATOR = $(CONDOR_HOST) $(IP_ADDRESS) 127.*

Les commandes à connaitre

Il y en a beaucoup d'autre, mais celle-la suffisent.

exécuter une tache :

condor_submit /mon/fichier/description.des

afficher la fil d'attente :

condor_q

Retirer de la queue toute les taches lancées par un utilisateur :

condor_rm utilisateur

Permet de voir les work_node du cluster avec détails(arch, OpSys) :

condor_status

Permet de voir tout les daemons actifs sur les machines du cluster :

condor_status -any

affiche les work_node disponibles (celles qui ne taf pas) :

condor_status -avail

Exemple de fichier de description

Les fichiers de description sont destiné à etre utilisé avec la commande condor_submit.

Cet exemple permet d'executer un script bash “tache_1.exe”(rien a voir avec windaube, exe en réference à la ligne executable du fichier) 5 fois en utilisant toute les machines disponible sous linux d'architecture X86_64, armv6l et armv7l en faisant usage d'un fichier 'fichier.nécéssaire. output, error, et log fournissent des informations utiles concernant l'execution de votre tache. Si vous êtes débutant, commencer par l'univers vanilla (le plus simple).

universe		= vanilla
initialdir		= /home/$USER/Documents/Informatique/Condor/
executable		= /home/$USER/Documents/Informatique/Condor/tache_1.exe
input			= /home/$USER/Documents/Informatique/Condor/fichier.nécéssaire
requirements		= (Arch == "X86_64" && OpSys == "LINUX") || (Arch == "armv6l" && OpSys == "LINUX") || (Arch == "armv7l" && OpSys == "LINUX")
output			= /home/$USER/Documents/Informatique/Condor/tache_1.out
error			= /home/$USER/Documents/Informatique/Condor/tache_1.err
log			= /home/$USER/Documents/Informatique/Condor/tache_1.log
Queue 5

Voici une tache ultra basique. Elle execute 1 fois dans l'univers vanilla le script tache_2.exe situé dans votre repertoire personnel en utilisant une machine disponible d'architecture et system d'exploitation identique à votre serveur de batch. pas de log, ni de message d'erreur : juste la tache.

executable		= tache_2.exe
queue
utilisateurs/renart_frambivore/tutos/creer-un-cluster-condor.txt · Dernière modification: 20/04/2020 14:31 par Renart_frambivore

Pied de page des forums

Propulsé par FluxBB