2016-05-16 21 views
0

Ich benutze Sun Grid Engine auf meinem Ubuntu 14.04, um meine Jobs auf meiner Multicore-CPU laufen zu lassen. Ich habe SGE auf meinem System installiert und eingerichtet, aber ich habe Probleme beim Testen. Ich habe ein "hallo_world" -Dir erstellt, das zwei Shellskripts mit dem Namen "hallo_world.sh" & "hello_world_qsub.sh" enthält, die zuerst einen einfachen Befehl und zweitens den Befehl qsub enthalten, um die erste Skriptdatei als auszuführenden Job zu senden. Hier ist, was "hello_world.sh" beinhaltet:SGE übermittelte Job läuft nicht

#!/bin/bash 

echo "Hello world" > /home/theodore/tmp/hello_world/hello_world_output.txt 

Und hier ist es, was "hello_world_qsub.sh" beinhaltet:

#!/bin/bash 

qsub \ 
    -e /home/hello_world/hello_world_qsub.error \ 
    -o /home/hello_world/hello_world_qsub.log \ 
    ./hello_world.sh 

nach Erlaubnis der zweiten sh-Datei geben und es mit“./hello_world_qsub läuft .sh“Befehl aus dem angegebenen Verzeichnis, ist der Ausgang vernünftig:

Your job 1 ("hello_world.sh") has been submitted 

Aber die Ausgabe von‚qstat‘Befehl ist frustrierend:

job-ID prior name  user   state submit/start at  queue       slots ja-task-ID 
    ----------------------------------------------------------------------------------------------------------------- 
    1 0.50000 hello_worl mhr   qw 05/16/2016 20:26:23         1   

Und die Spalte "state" bleibt immer auf "qw" und ändert sich nie in "r".

Hier ist die Ausgabe von "qstat -j 1" Befehl:

============================================================== 
job_number:     1 
exec_file:     job_scripts/1 
submission_time:   Mon May 16 20:26:23 2016 
owner:      mhr 
uid:      1000 
group:      mhr 
gid:      1000 
sge_o_home:     /home/mhr 
sge_o_log_name:    mhr 
sge_o_path:     /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games 
sge_o_shell:    /bin/bash 
sge_o_workdir:    /home/mhr/hello_world 
sge_o_host:     localhost 
account:     sge 
stderr_path_list:   NONE:NONE:/home/hello_world/hello_world_qsub.error 
mail_list:     [email protected] 
notify:      FALSE 
job_name:     hello_world.sh 
stdout_path_list:   NONE:NONE:/home/hello_world/hello_world_qsub.log 
jobshare:     0 
env_list:     
script_file:    ./hello_world.sh 
scheduling info:   queue instance "[email protected]" dropped because it is temporarily not available 
         All queues dropped because of overload or full 

Und hier ist die Ausgabe von "Qhost" Befehl:

HOSTNAME    ARCH   NCPU LOAD MEMTOT MEMUSE SWAPTO SWAPUS 
------------------------------------------------------------------------------- 
global     -    -  -  -  -  -  - 
localhost    -    -  -  -  -  -  - 

Was soll ich tun, um meine Arbeit zu machen laufen und ihre Aufgabe beenden?

+0

Was ist die Ausgabe des Befehls "qhost"? –

+0

@Finch_Powers Ich habe die Ausgabe von "qhost" zu meiner Frage oben hinzugefügt. –

Antwort

2

Von Ihrer qhost-Ausgabe aus sieht es so aus, als ob Ihre Maschine "localhost" in SGE korrekt konfiguriert ist. Auf "localhost" ist sge_execd jedoch nicht ausgeführt oder nicht ordnungsgemäß konfiguriert. Wenn dies der Fall wäre, würde qhost Statistiken für "localhost" melden.

+0

Danke, und was ist die Lösung? Wie kann ich sge_execd ausführen? Ist sge_execd in der Umgebung "qmon" konfiguriert oder funktioniert das anders? –

+0

Bei meiner Installation kann ich sge_execd unter '$ SGE_ROOT/bin/linux-x64/finden. Versuchen Sie es zu starten. Wenn es nicht funktioniert, sollte die Ausgabe zumindest eine Vorstellung davon geben, was als nächstes zu tun ist. –

0

Mein Problem gelöst. Wie @Finch_Powers sagte, ging es um sge_execd. gridengine-exec wurde nicht richtig installiert. Das Problem wurde gelöst, nachdem ich es neu installiert hatte.

+0

@Finch_Powers danke :) –