Ich erhalte den Fehler qsub: Ungültige UID für die Auftragsausführung, wenn ich versuche, einen Auftrag über PBS zu übermitteln

Ich erhalte den Fehler qsub: Ungültige UID für die Auftragsausführung, wenn ich versuche, einen Auftrag über PBS zu übermitteln

Betriebssystemversion: CentOS Release 4.6 (Final) Kernel \r auf einem \m 2.6.9-100.ELsmp

Beim Versuch, einen Job auszuführen, wird mir der folgende Fehler angezeigt.

qsub: Bad UID for job execution

Ich habe ein neues Benutzerkonto erstellt und derselbe Fehler tritt auf. Andere Benutzer auf derselben Maschine können jedoch problemlos Jobs ausführen.

Wie kann ich dieses Problem beheben?

Antwort1

Anleitung hier:http://www.bo.infn.it/alice/intrord/pbsabout/node18.htmlschlage vor, dass Sie es als falscher Benutzer ausführen.

Invalid user in #PBS -u new-user

$ qsub sube.cmd
qsub: Bad UID for job execution

Der in der Benutzerliste definierte Benutzername ist entweder nicht definiert oder unterscheidet sich vom Benutzernamen des Jobübermittlers, oder die Benutzer-UID und -GID des ausführenden Knotens unterscheiden sich von denen des übermittelnden Knotens. Überprüfen Sie in diesem Fall zunächst, ob die Direktive #PBS -u einen gültigen Benutzer angibt, und überprüfen Sie dann, ob die Benutzer-IDs identisch sind:

$ id whoamiuid=501(meinBenutzername) gid=501(meinBenutzername) groups=501(meinBenutzername) $ grep -e "PBS -u" cpbs.cmd

PBS -u alice001 $ id alice001 uid=10417(alice001) gid=1395(alice) groups=1395(alice)

und ändern Sie #PBS -u entsprechend.

Antwort2

Hinzufügen des Hosts zum/etc/hosts.equivhat mein Problem behoben.
Aber ich hatte diese Zeilen bereits hinzugefügt qmgr.

set server operators += [email protected]
set server acl_users += username
set server managers += [email protected]
set server acl_hosts += servername.local
set server operators += [email protected]

Dann habe ich ein gemacht /etc/init.d/pbs_server restart.

Sie können denpbs_serverauch wenn Sie bereits laufen.
Sie müssen den Server nicht hinzufügen zu/etc/hosts.equivwenn Sie Aufträge auf dem Server übermitteln, auf dem diepbs_server.

Antwort3

Ich weiß, dass diese Frage schon etwas älter ist, aber ich bin vor Kurzem auf dieses Problem gestoßen und habe die folgenden Schritte ausgeführt:

  • Stellen Sie sicher, dass die UID und GID für den betreffenden Benutzer im gesamten Cluster übereinstimmen.
  • qmgr -c "set server flatuid=true"
  • qmgr -c "set server acl_roots+=username@*"
  • qmgr -c "set server operators+=username@*"

Hier ist * ein Platzhalter für alle Hosts. Funktioniert einwandfrei! Wahrscheinlich nicht supersicher, aber funktioniert auf jeden Fall!

Antwort4

zwei Verfahren:

  1. fügen Sie am Ende der Datei /etc/passwd ""+::::::"" hinzu

  2. Stellen Sie sicher, dass der Knoten, an den Benutzer Jobs übermitteln, alle anderen Knoten in der Datei /etc/hosts.equiv gut definiert hat

Referenz: Suchen Sie im PDF-Dokument „Torque-Administratorhandbuch“ nach einer ungültigen UID für die Jobausführung.

verwandte Informationen