HT-Condor

Un article de lcgwiki.
Revision as of 14:35, 10 août 2015 by Barbet (talk | contribs) (Installation personnelle : configuration et premiers tests)
Jump to: navigation, search

Démarrer avec HT-Condor

Démarrer avec HT-Condor

[Page en cours de création]

Documentation et références

Site de référence : http://research.cs.wisc.edu/htcondor/

Wiki : https://htcondor-wiki.cs.wisc.edu/index.cgi/wiki

Recettes Administrateur : https://htcondor-wiki.cs.wisc.edu/index.cgi/wiki?p=HowToAdminRecipes

Manuel (version stable 8.2) : http://research.cs.wisc.edu/htcondor/manual/v8.2/index.html

Repositories et installation

http://research.cs.wisc.edu/htcondor/yum/

cd /etc/yum.repos.d/
wget http://research.cs.wisc.edu/htcondor/yum/repo.d/htcondor-stable-rhel6.repo
yum install condor

Attention: condor est aussi distribué via les repositories UMD, il peut être nécessaire de désactiver ces repositories ou bien d'utiliser les priorités avec YUM.

Installation personnelle : configuration et premiers tests

La configuration par défaut après l'installation du RPM permet de tester le produit sur une seule machine. Dans ce cas, sur la même machine, on trouve les trois types de noeuds : submit node, master node et worker node.

Démarrer les demons :

service condor start
Starting up Condor...    done.

service condor status
Condor is running (pid 22310)

Les processus suivants sont lancés :

ps -ef | grep condor
condor   22310     1  0 09:52 ?        00:00:00 /usr/sbin/condor_master -pidfile /var/run/condor/condor.pid
root     22311 22310  0 09:52 ?        00:00:00 condor_procd -A /var/run/condor/procd_pipe -L /var/log/condor/ProcLog -R 1000000 -S 60 -C 493
condor   22312 22310  0 09:52 ?        00:00:00 condor_collector -f
condor   22314 22310  0 09:52 ?        00:00:00 condor_negotiator -f
condor   22315 22310  0 09:52 ?        00:00:00 condor_schedd -f
condor   22316 22310  0 09:52 ?        00:00:00 condor_startd -f
condor   22359 22316 93 09:53 ?        00:00:11 mips

En ce qui concerne le demon qui gère un worker node (condor_startd), les processeurs disponibles sue la machine locale sont bien reconnus :

condor_status
Name               OpSys      Arch   State     Activity LoadAv Mem   ActvtyTime

slot1@testcondor.in2 LINUX      X86_64 Unclaimed Idle      0.000 1949  0+00:30:11
slot2@testcondor.in2 LINUX      X86_64 Unclaimed Idle      0.030 1949  0+00:50:05
slot3@testcondor.in2 LINUX      X86_64 Unclaimed Idle      0.000 1949  0+00:50:06
slot4@testcondor.in2 LINUX      X86_64 Unclaimed Idle      0.000 1949  0+00:50:07
                    Total Owner Claimed Unclaimed Matched Preempting Backfill
       X86_64/LINUX     4     0       0         4       0          0        0
              Total     4     0       0         4       0          0        0

Créer un programme de test (un script shell lançant des exécutables) :

more HT-Condor/testprog01.sh
#! /bin/sh
echo "HT-condor testprog01"
echo "I'm process id $$ on" `hostname`
echo "This is sent to standard error" 1>&2
date
echo "Running as binary $0" "$@"
echo "My name (argument 1) is $1"
echo "My sleep duration (argument 2) is $2"
sleep $2
echo "Sleep of $2 seconds finished.  Exiting"
exit 0

Créer la description du travail :

executable=testprog01.sh
universe=vanilla
arguments=Example.$(Cluster).$(Process) 100
output=results.output.$(Process)
error=results.error.$(Process)
log=results.log
notification=never
should_transfer_files=YES
when_to_transfer_output = ON_EXIT
queue

Lancer le job :

condor_submit testprog01.submit 
Submitting job(s).
1 job(s) submitted to cluster 1.

En surveiller l'exécution :

condor_q


-- Submitter: nanpc117.in2p3.fr : <134.158.25.117:39976> : nanpc117.in2p3.fr
ID      OWNER            SUBMITTED     RUN_TIME ST PRI SIZE CMD               
  1.0   untel          8/4  09:57   0+00:00:05 R  0   0.0  testprog01.sh Exam
1 jobs; 0 completed, 0 removed, 0 idle, 1 running, 0 held, 0 suspended

Fin du job : les fichiers demandés sont là :

ls
results.error.0  results.output.0  testprog01.submit
results.log      testprog01.sh

Installation type cluster local

Utilisation en contexte grille

Sécurité