Jobs

Beheben Sie Probleme mit Jobs und Jobläufen.

Logobjekt kann nicht im Namen des Benutzers erstellt werden. Fehler beim Erstellen eines Joblaufs

Wenn die Joblauferstellung nicht erfolgreich verläuft und die folgenden Lebenszyklusdetails angezeigt werden:

The specified log group is not found or not authorized. Cannot create log object on behalf of the user.
Ensure the log group is valid and the user has appropriate permissions configured
Falsche Loggruppen-OCID

Stellen Sie sicher, dass die in der Erstellungskonfiguration des Joblaufs angegebene Loggruppen-OCID korrekt ist.

Falsche Berechtigungen

Ihnen fehlen Berechtigungen. Der Benutzer, der den Joblauf erstellt, muss berechtigt sein, Gruppen zu protokollieren und Inhalte zu protokollieren. Dadurch wird sichergestellt, dass der Benutzer Zugriff auf die angegebene Loggruppe und das angegebene Logobjekt hat. Außerdem helfen Sie beim Erstellen eines neuen Logobjekts im Namen des Benutzers, wenn enableAutoLogCreation aktiviert ist.

allow group <group-name> to manage log-groups in compartment <log-compartment-name>
allow group <group-name> to use log-content in compartment <log-compartment-name>

Häufige Fehler sind:

  • Erteilen Sie dem Benutzer nur use-Berechtigungen für Loggruppen. Die Berechtigung manage ist erforderlich, wenn enableAutoLogCreation aktiviert ist.
  • Die falsche Gruppe zulassen. Die Gruppe bezieht sich auf die Gruppe, in der sich der Ersteller des Joblaufs befindet. Wenn Sie Jobläufe mit Instanz-Principals erstellen, ist die erforderliche Policy:
    dynamic group <instance-principal-dynamic-group-name>

Fehler beim Ausführen des eigenen Containerjobs beim Herunterladen des Images

Wenn Sie versuchen, einen eigenen Containerjoblauf zu erstellen, der beim Herunterladen des Images mit Fehlern nicht erfolgreich verläuft, stellen Sie Folgendes sicher:

  • Möglicherweise fehlt der Host im Pfad zum Image. Das korrekte Format für den Bildpfad lautet <region-key>.ocir.io/<tenancy-namespace>/<repository-name>:<tag>. Ein häufiger Fehler ist, den ersten Teil des Pfads (die Host-URL) zu verpassen.
  • Das Containerimage befindet sich in einer anderen Region als der Joblauf: Data Science-Jobs unterstützen das Abrufen von Images aus regionsübergreifenden OCIR nicht. Stellen Sie sicher, dass sich das Containerimage in derselben Region wie der Joblauf befindet.

Warum wird beim Erstellen eines Jobs nicht schnell eine Option in der Konsole gestartet

Die Schnellstartoption ist nur in den Regionen verfügbar, in denen sie unterstützt wird. Nicht alle Regionen und Bereiche unterstützen dieses Feature. Beispiel: Er wird in Dedicated Region Cloud@Customer-(DRCC-)Realms im Allgemeinen nicht unterstützt.

Dasselbe gilt für den API-Endpunkt ListFastLaunchJobConfigs. Die API antwortet mit der Liste der Optionen für den schnellen Start. Daher ist die Antwort für Regionen, in denen der schnelle Start nicht unterstützt wird, eine Fehler- oder leere Liste.

Fehler 400 LimitExceeded

Wenn Sie einen Job oder Joblauf erstellen und dieser Fehler auftritt, bedeutet dies, dass Sie die OCI-Servicelimits erreicht haben. Im Video Erhöhung der Servicelimits für Data Science erfahren Sie, wie Sie eine Anforderung zur Erhöhung Ihrer Servicelimits übermitteln.

Für die angegebene Ausprägung ist derzeit keine Kapazität vorhanden. Fehler

Wenn dieser Fehler beim Erstellen eines Joblaufs auftritt (wie in den Lebenszyklusdetails beschrieben), ist keine Kapazität zum Erstellen der Ausführung vorhanden. Versuchen Sie es später erneut, versuchen Sie es in anderen Regionen, oder verwenden Sie andere Ausprägungsfamilien.

401 NotAuthenticated-Fehler beim Erstellen von Anforderungen an die Data Science-API

Diese Art von Fehler steht in keinem Zusammenhang mit dem Data Science-Service. Vielmehr ist es ein Problem auf der Benutzerseite beim Erstellen und Signieren der Anforderungen.

Wenn Sie Benutzer-Principal verwenden, um die Anforderung zu stellen, sind einige häufige Fehler:

  • Wenn ungültige API-Schlüssel vorhanden sind, finden Sie weitere Informationen unter Schlüssel zuweisen.
  • Erstellen einer Anforderung unmittelbar nach dem Hochladen eines Public Keys. Die Identitätsinformationen benötigen Zeit, um sich über die Regionen in einer Realm zu propagieren. Normalerweise tritt innerhalb von 5 Minuten auf, obwohl gelegentlich mehr Zeit erforderlich sein kann.

Integration von Joblauflogging ist aktiviert, obwohl keine Logs generiert werden

Bei einem erfolgreich erstellten Joblauf, der den Status IN_PROGRESS erreicht hat, werden jedoch keine Logs im Logobjekt angezeigt. Dies tritt in der Regel auf, wenn Policys fehlen oder falsch sind. Der Joblauf muss über Schreibberechtigungen für das Joblauflog verfügen.

Definieren Sie zunächst eine dynamische Gruppe für die Joblaufressource:

all { resource.type='datasciencejobrun', resource.compartment.id='<job-run-compartment-ocid>' }

Legen Sie dann den Zugriff auf diese dynamische Gruppe fest:

allow dynamic-group <job-runs-dynamic-group> to use log-content in compartment <log-compartment-name>

Einige häufige Fehler sind:

  • Es wurde ein falsches Compartment angegeben. Beachten Sie, dass das in den vorherigen Policys beschriebene Compartment unterschiedlich ist.
    • Bei der Definition der dynamischen Gruppe handelt es sich um das Compartment des Joblaufs.
    • Für die Policy-Anweisung für den Zugriff auf den Loginhalt ist dies das Compartment des Logs.
  • Definieren Sie die dynamische Gruppe mit compartment.id anstelle von resource.compartment.id.
  • Die Definition der dynamischen Gruppe enthält einen falschen Ressourcentyp. Wahrscheinlich bezieht sich die definierte dynamische Gruppe auf die Notizbuchsessionressource und enthält nicht die Joblaufressource. Der Resource Principal datasciencejobrun wird zum Schreiben in Logs für die Joblaufloggingintegration verwendet und muss daher in der Definition der dynamischen Gruppe enthalten sein.

Integration von Joblauflogging ist aktiviert, obwohl die Logs abgeschnitten angezeigt werden

Data Science-Jobs unterstützen die Integration mit dem OCI Logging-Service für das automatische Logging. Wenn die Logs abgeschnitten oder unvollständig angezeigt werden, liegt dies wahrscheinlich an den folgenden Logging-Servicelimits:

  • Jeder Eintrag muss kleiner als 1 MB sein.
  • Logdatenfelder dürfen nicht mehr als 10.000 Zeichen enthalten.

Wenn die Daten diese Grenzwerte überschreiten, wird der Log-Eintrag während der Aufnahme abgeschnitten.

Joblaufmetriken enthalten keine Daten

Wenn die Joblaufmetriken während oder nach der Jobverarbeitung nicht angezeigt werden, sind wahrscheinlich nicht die richtigen Policys konfiguriert. Stellen Sie sicher, dass Sie über die folgende Policy verfügen:

allow group <user-group-name> to read metrics in compartment <compartment-name>

Das Compartment ist das Compartment des Joblaufs

Ausführung des Joblaufartefakts nicht erfolgreich mit Beendigungscode ___ Fehler

Dies bedeutet, dass die Ausführung des Codes mit dem angegebenen Exit-Code in Bezug auf den Code fehlgeschlagen ist. Loggingintegration aktivieren, und stellen Sie sicher, dass genügend Loganweisungen im Code vorhanden sind, um das Problem zu debuggen.

Beendigungscode für Joblauf ist nicht angegeben

Jobs geben den Beendigungscode eines Joblauffehlers an, wenn er beendet wird. Diese Informationen sind im Feld "Lebenszyklusdetails" des Joblaufs verfügbar. Dies wird für alle Jobläufe unterstützt, einschließlich eigener Containerjobläufe.

Wenn Sie feststellen, dass der Exitcode, mit dem Sie wissen, dass der Joblauf nicht erfolgreich war, nicht korrekt angegeben ist, wird der Exitcode wahrscheinlich nicht korrekt propagiert.

Einige häufige Fehler sind:

  • Wenn Sie ein Shell-Skript als Einstiegspunkt verwenden, um andere auszuführende Dateien (andere python-Dateien) zu starten, muss das Shell-Skript den Exit-Code aus der internen Dateiausführung erfassen und später das Shell-Skript mit dem erfassten Exit-Code beenden.
  • Das Auslösen von Ausnahmen reicht möglicherweise nicht aus. Die Dateiausführung (oder der Container zum Mitnehmen Ihres eigenen Containers) muss explizit mit einem Exit-Code beendet werden. In Python wird dies mit sys.exit(ERROR_CODE) durchgeführt.
  • Es wird ein falscher Typ für den Beendigungscodewert verwendet. Normalerweise wird als falscher Typ eine Zeichenfolge verwendet. Beendigungscodes müssen Zahlen oder Ganzzahlen und zwischen 1 und 255 liegen, wie unter Job mit Beendigungscodes beschrieben.

Joblauf - Ungültiger Einstiegspunkt

Wenn Sie JOB_RUN_ENTRYPOINT in eine Datei angeben, die nicht vorhanden ist oder sich die Datei nicht am angegebenen Speicherort befindet, führt dies zu diesem Fehler:

Job run bootstrap failure: invalid job run entry point (JOB_RUN_ENTRYPOINT).