Teilen über


Apache Flink® Jobverwaltung in HDInsight auf AKS-Clustern

Wichtig

Azure HDInsight auf AKS wurde am 31. Januar 2025 eingestellt. Erfahren Sie mehr mit dieser Ankündigung.

Sie müssen Ihre Workloads zu Microsoft Fabric oder ein gleichwertiges Azure-Produkt migrieren, um eine abrupte Beendigung Ihrer Workloads zu vermeiden.

Wichtig

Dieses Feature befindet sich derzeit in der Vorschau. Die zusätzlichen Nutzungsbedingungen für Microsoft Azure Previews weitere rechtliche Bestimmungen enthalten, die für Azure-Features gelten, die in der Betaversion, in der Vorschau oder auf andere Weise noch nicht in die allgemeine Verfügbarkeit veröffentlicht werden. Informationen zu dieser spezifischen Vorschau finden Sie unter Azure HDInsight auf AKS-Vorschauinformationen. Für Fragen oder Featurevorschläge senden Sie bitte eine Anfrage an AskHDInsight mit detaillierten Angaben und folgen Sie uns, um weitere Updates zur Azure HDInsight Communityzu erhalten.

HDInsight auf AKS bietet ein Feature zum Verwalten und Übermitteln von Apache Flink-Aufträgen® direkt über das Azure-Portal (benutzerfreundliche Benutzeroberfläche) und ARM-Rest-APIs.

Mit diesem Feature können Benutzer ihre Apache Flink-Aufträge effizient steuern und überwachen, ohne dass umfassende Kenntnisse auf Clusterebene erforderlich sind.

Vorteile

  • vereinfachte Auftragsverwaltung: Mit der nativen Integration von Apache Flink im Azure-Portal benötigen Benutzer keine umfangreichen Kenntnisse von Flink-Clustern mehr, um Aufträge zu übermitteln, zu verwalten und zu überwachen.

  • User-Friendly REST-API-: HDInsight auf AKS bietet benutzerfreundliche ARM-Rest-APIs zum Übermitteln und Verwalten von Flink-Aufträgen. Benutzer können Flink-Aufträge von jedem Azure-Dienst mit diesen Rest-APIs übermitteln.

  • Mühelose Auftragsaktualisierungen und Zustandsverwaltung: Die systemeigene Azure-Portalintegration bietet eine problemlose Oberfläche zum Aktualisieren von Aufträgen und zum Wiederherstellen des letzten gespeicherten Zustands (SavePoint). Diese Funktionalität stellt die Kontinuität und Die Datenintegrität während des gesamten Auftragslebenszyklus sicher.

  • Automatisierung von Flink-Aufträgen mit Azure Pipeline: Mit HDInsight auf AKS haben Flink-Benutzer Zugriff auf die benutzerfreundliche ARM-Rest-API, und Sie können Flink-Auftragsvorgänge nahtlos in Ihre Azure Pipeline integrieren. Ganz gleich, ob Sie neue Aufträge starten, ausgeführte Aufträge aktualisieren oder verschiedene Auftragsvorgänge ausführen, dieser optimierte Ansatz beseitigt manuelle Schritte. Es ermöglicht Ihnen, Ihren Flink-Cluster effizient zu verwalten.

Voraussetzungen

Es gibt einige Voraussetzungen vor dem Übermitteln und Verwalten von Aufträgen über Portal- oder Rest-APIs.

  • Erstellen Sie ein Verzeichnis im primären Speicherkonto des Clusters, um die Job-JAR-Datei hochzuladen.

  • Wenn der Benutzer Speicherpunkte übernehmen möchte, erstellen Sie ein Verzeichnis im Speicherkonto für Auftragsspeicherpunkte.

    Screenshot zeigt die Verzeichnisstruktur.

Wichtige Features und Vorgänge

  • Neue Auftragsübermittlung: Benutzer können mühelos einen neuen Flink übermitteln, ohne dass komplexe Konfigurationen oder externe Tools erforderlich sind.

  • Beenden und Starten von Aufträgen mit Speicherpunkten: Benutzer können ihre Flink-Aufträge ordnungsgemäß beenden und von ihrem vorherigen Status (Savepoint) starten. Savepoints stellen sicher, dass der Auftragsfortschritt erhalten bleibt, sodass eine nahtlose Wiederaufnahme der Arbeit möglich ist.

  • Auftragsaktualisierungen: Der Benutzer kann den laufenden Auftrag aktualisieren, nachdem das Jar im Speicherkonto aktualisiert wurde. Dieses Update übernimmt automatisch den Speicherpunkt und startet den Auftrag mit einem neuen Jar.

  • Statuslose Updates: Das Ausführen eines neuen Neustarts für einen Auftrag wird durch zustandslose Updates vereinfacht. Diese Funktion ermöglicht es Benutzern, mithilfe der aktualisierten Job-JAR-Datei einen sauberen Neustart durchzuführen.

  • Savepoint-Verwaltung: Benutzer können zu einem bestimmten Zeitpunkt Speicherpunkte für ihre laufenden Aufträge erstellen. Diese Speicherpunkte können aufgelistet und verwendet werden, um den Auftrag nach Bedarf von einem bestimmten Checkpoint neu zu starten.

  • Abbrechen: Dadurch wird der Auftrag dauerhaft abgebrochen.

  • Löschen: Eintrag im Auftragsverlauf löschen.

Optionen zum Verwalten von Aufträgen in HDInsight auf AKS

HDInsight auf AKS bietet Möglichkeiten zum Verwalten von Flink-Jobs.

Auftragsverwaltung über das Azure-Portal

Zum Ausführen des Flink-Jobs gehen Sie im Portal zu:

Portal –> HDInsight im AKS-Clusterpool –> Flink Cluster –> Einstellungen –> Flink Jobs

Screenshot zeigt, wie

  • Neuer Auftrag: Um einen neuen Auftrag einzureichen, laden Sie die Job Jars in das Speicherkonto hoch und erstellen Sie ein Savepoint-Verzeichnis. Füllen Sie die Vorlage mit den erforderlichen Konfigurationen aus, und übermitteln Sie dann den Auftrag.

    Screenshot zeigt, wie Sie eine neue Aufgabe erstellen.

    Immobiliendetails:

    Eigentum Beschreibung Standardwert Obligatorisch
    Auftragsname Eindeutiger Name für den Job. Dies wird im Portal angezeigt. Der Stellenname sollte in Kleinbuchstaben angegeben werden. Ja
    Jar-Pfad Speicherpfad für Auftrags-JAR. Benutzer sollten ein Verzeichnis im Clusterspeicher erstellen und die Job-JAR-Datei hochladen. Ja
    Einstiegsklasse Einstiegsklasse für den Auftrag, von dem die Auftragsausführung gestartet wird. Ja
    Argumente Argument für das Hauptprogramm des Jobs. Trennen Sie alle Argumente durch Leerzeichen. Nein
    Parallelismus Flink-Job-Parallelität. 2 Ja
    savepoint.directory Savepoint-Verzeichnis für den Job. Es wird empfohlen, dass Benutzer ein neues Verzeichnis für den Savepoint eines Jobs im Speicherkonto erstellen. abfs://<container>@<account>/<deployment-ID>/savepoints Nein

    Nachdem der Auftrag gestartet wurde, lautet der Auftragsstatus im Portal LÄUFT.

  • Stop: Da der Stoppauftrag keinen Parameter erfordert, kann der Benutzer den Auftrag stoppen, indem er die entsprechende Aktion auswählt.

    Screenshot zeigt, wie der Benutzer den Auftrag stoppen kann.

    Nachdem der Auftrag gestoppt ist, ist der Auftragsstatus im Portal BEENDET.

  • Start: Diese Aktion startet den Auftrag vom Speicherpunkt. Um den Auftrag zu starten, wählen Sie den beendeten Auftrag aus, und starten Sie ihn.

    Screenshot zeigt, wie der Nutzer einen Auftrag startet.

    Füllen Sie die Flussvorlage mit den erforderlichen Optionen aus, und starten Sie sie. Benutzer müssen den Speicherpunkt auswählen, von dem der Benutzer den Auftrag starten möchte. Standardmäßig wird der letzte erfolgreiche Speicherpunkt verwendet.

    Screenshot zeigt, wie die Füllflussvorlage aussieht.

    Immobiliendetails:

    Eigentum Beschreibung Standardwert Obligatorisch
    Argumente Argument für das Hauptprogramm des Jobs. Alle Argumente sollten durch Leerzeichen getrennt werden. Nein
    Letzter Speicherpunkt Der letzte erfolgreiche Speicherpunkt wird erstellt, bevor der Auftrag beendet wird. Dies wird standardmäßig verwendet, wenn kein Speicherpunkt ausgewählt ist. Nicht bearbeitbar
    Name des Speicherpunkts Benutzer können den verfügbaren Speicherpunkt für den Auftrag auflisten und einen auswählen, um den Auftrag zu starten. Nein

    Nachdem der Auftrag gestartet wurde, wird der Auftragsstatus im Portal auf RUNNINGangezeigt.

  • Update: Update hilft beim Neustart von Aufträgen mit aktualisiertem Auftragscode. Benutzer müssen die neueste Job-Datei im Speicherort aktualisieren und den Auftrag vom Portal aktualisieren. Dieses Update stoppt den Auftrag mit savepoint und beginnt erneut mit dem neuesten Jar.

    Screenshot zeigt, wie Aufträge mit aktualisiertem Code neu gestartet werden.

    Vorlage für den Aktualisierungsauftrag.

    Screenshot zeigt die Vorlage zum Aktualisieren des Jobs.

    Nachdem der Auftrag aktualisiert wurde, lautet der Auftragsstatus im Portal "WIRD AUSGEFÜHRT".

  • Statuslose Aktualisierung: Dieser Auftrag ist wie ein Update, erfordert jedoch einen neuen Neustart des Auftrags mit dem neuesten Code.

    Screenshot zeigt einen Neustart des Auftrags mit dem neuesten Code.

    Vorlage zum Aktualisieren von Aufgaben.

    Screenshot zeigt die Vorlage zum Aktualisieren von zustandslosen Aufgaben.

    Immobiliendetails:

    Eigentum Beschreibung Standardwert Obligatorisch
    Argumente Argument für das Hauptprogramm des Auftrags. Trennen Sie alle Argumente durch Leerzeichen. Nein

    Sobald der Auftrag aktualisiert wurde, steht der Auftragsstatus im Portal auf AUSGEFÜHRT.

  • Savepoint: Erstellen des Speicherpunkts für den Flink-Job.

    Screenshot zeigt den Savepoint für den Flink-Job.

    Der Speicherpunkt ist zeitaufwändig und dauert einige Zeit. Der Status des Auftrags wird als in Bearbeitung angezeigt.

    Screenshot zeigt den Status der Auftragsaktion.

  • Abbrechen: Dieser Auftrag hilft dem Benutzer, den Auftrag abzubrechen.

    Screenshot zeigt, wie der Benutzer den Auftrag beenden kann.

  • Löschen: Jobdaten aus dem Portal löschen.

    Screenshot zeigt, wie Benutzer Auftragsdaten aus dem Portal löschen können.

  • Auftragsdetails anzeigen: Um die Auftragsdetails anzuzeigen, kann der Benutzer auf den Auftragsnamen klicken. Dadurch werden die Details zum Auftrag und das Ergebnis der letzten Aktion angezeigt.

    Screenshot zeigt, wie Auftragsdetails angezeigt werden.

    Für jede fehlgeschlagene Aktion liefert dieses Auftrags-JSON detaillierte Ausnahmen und Gründe für Fehler.

Auftragsverwaltung mithilfe von Rest-API-

HDInsight auf AKS unterstützt benutzerfreundliche ARM-Rest-APIs zum Übermitteln von Aufträgen und Verwalten der Aufträge. Mithilfe dieser Flink-REST-API können Sie Flink-Auftragsvorgänge nahtlos in Ihre Azure-Pipeline integrieren. Ganz gleich, ob Sie neue Aufträge starten, ausgeführte Aufträge aktualisieren oder verschiedene Auftragsvorgänge ausführen, mit diesem optimierten Ansatz werden manuelle Schritte beseitigt und Sie in die Lage versetzt, Ihren Flink-Cluster effizient zu verwalten.

Basis-URL-Format für Rest-API

Sehen Sie die folgende URL für die Rest-API. Die Benutzer müssen Abonnement, Ressourcengruppe, Clusterpool, Clustername und HDInsight auf der AKS-API-Version ersetzen, bevor sie die API verwenden. https://management.azure.com/subscriptions/{{USER_SUBSCRIPTION}}/resourceGroups/{{USER_RESOURCE_GROUP}}/providers/Microsoft.HDInsight/clusterpools/{{CLUSER_POOL}}/clusters/{{FLINK_CLUSTER}}/runjob?api-version={{API_VERSION}}

Mithilfe dieser REST-API können Benutzer neue Aufträge initiieren, Aufträge beenden, Aufträge starten, Speicherpunkte erstellen, Aufträge abbrechen und Aufträge löschen. Die aktuelle API_VERSION ist 2023-06-01-Preview.

Rest-API-Authentifizierung

Um Benutzer der ARM-REST-API von Flink zu authentifizieren, müssen Sie das Bearer-Token oder Zugriffstoken für die ARM-Ressource abrufen. Um die REST-API von Azure ARM (Azure Resource Manager) mithilfe eines Dienstprinzipals zu authentifizieren, können Sie die folgenden allgemeinen Schritte ausführen:

  • Erstellen Sie einen Dienstprinzipal.

    az ad sp create-for-rbac --name <your-SP-name>

  • Erteilen Sie SP die Berechtigung "Besitzer" für den Cluster flink.

  • Melden Sie sich mit dem Dienstprinzipal an.

    az login --service-principal -u <client_id> -p <client_secret> --tenant <tenant_id>

  • Zugriffstoken abrufen.

    $token = az account get-access-token --resource=https://management.azure.com/ | ConvertFrom-Json

    $tok = $token.accesstoken

    Benutzer können Token in der angezeigten URL verwenden.

    $data = Invoke-RestMethod -Uri $restUri -Method GET -Headers @{ Authorization = "Bearer $tok" }

Authentifizierung mit verwalteter Identität: Benutzer können Ressourcen nutzen, die verwaltete Identität unterstützen, um Aufrufe an die Auftrags-REST-API auszuführen. Weitere Informationen finden Sie in der dokumentation Managed Identity.

LISTE der APIs und Parameter

  • Neuer Auftrag: REST-API zum Einreichen eines neuen Auftrags an Flink.

    Option Wert
    Methode POSTEN
    URL https://management.azure.com/subscriptions/{{USER_SUBSCRIPTION}}/resourceGroups/{{USER_RESOURCE_GROUP}}/providers/Microsoft.HDInsight/clusterpools/{{CLUSER_POOL}}/clusters/{{FLINK_CLUSTER}}/runJob?api-version={{API_VERSION}}
    Überschrift Authorization = "Bearer $token"

    Anforderungstext:

    { 
        "properties": { 
            "jobType": "FlinkJob", 
            "jobName": "<JOB_NAME>", 
            "action": "NEW", 
            "jobJarDirectory": "<JOB_JAR_STORAGE_PATH>", 
            "jarName": "<JOB_JAR_NAME>", 
            "entryClass": "<JOB_ENTRY_CLASS>", 
            “args”: ”<JOB_JVM_ARGUMENT>”
            "flinkConfiguration": { 
                "parallelism": "<JOB_PARALLELISM>", 
                "savepoint.directory": "<JOB_SAVEPOINT_DIRECTORY_STORAGE_PATH>" 
            } 
         } 
    }
    

    Eigenschaftendetails für JSON-Textkörper:

    Eigentum Beschreibung Standardwert Obligatorisch
    Jobtyp Auftragstyp. Es sollte "FlinkJob" sein Ja
    Auftragsname Eindeutiger Name für den Job. Dies wird im Portal angezeigt. Der Stellenname sollte in Kleinbuchstaben angegeben werden. Ja
    Handlung Er gibt den Vorgangstyp für den Auftrag an. Es sollte immer "NEU" für den neuen Auftragsstart sein. Ja
    Job-Jar-Verzeichnis Speicherpfad für das Auftrags-Jar-Verzeichnis. Benutzer sollten ein Verzeichnis im Clusterspeicher erstellen und die Job-JAR-Datei hochladen. Ja
    jarName Name der Aufgabensammlung. Ja
    entryClass Einstiegsklasse für den Job, aus dem die Ausführung des Jobs gestartet wird. Ja
    Args Argument für das Hauptprogramm des Auftrags. Trennen Sie Argumente durch Leerzeichen. Nein
    Parallelismus Job-Flink-Parallelität. 2 Ja
    savepoint.directory Savepoint-Verzeichnis für den Auftrag. Es wird empfohlen, dass Benutzer ein neues Verzeichnis für den Auftrags-Savepoint im Speicher-Konto erstellen sollten. abfs://<container>@<account>/<deployment-ID>/savepoints Nein

    Beispiel:

    Invoke-RestMethod -Uri $restUri -Method POST -Headers @{ Authorization = "Bearer $tok" } -Body $jsonString -ContentType "application/json"

  • Stoppauftrag: Rest-API zum Beenden des aktuellen ausgeführten Auftrags.

    Option Wert
    Methode POSTEN
    URL https://management.azure.com/subscriptions/{{USER_SUBSCRIPTION}}/resourceGroups/{{USER_RESOURCE_GROUP}}/providers/Microsoft.HDInsight/clusterpools/{{CLUSER_POOL}}/clusters/{{FLINK_CLUSTER}}/runJob?api-version={{API_VERSION}}
    Überschrift Authorization = "Bearer $token"

    Anforderungstext

       {
          "properties": {
            "jobType": "FlinkJob",
            "jobName": "<JOB_NAME>",
            "action": "STOP"
          }
        }
    

    Eigenschaftendetails für JSON-Textkörper:

    Eigentum Beschreibung Standardwert Obligatorisch
    Beschäftigungsart Auftragstyp. Es sollte "FlinkJob" sein Ja
    jobName Auftragsname, der zum Starten des Auftrags verwendet wird Ja
    Handlung Es muss "STOP" sein Ja

    Beispiel:

    Invoke-RestMethod -Uri $restUri -Method POST -Headers @{ Authorization = "Bearer $tok" } -Body $jsonString -ContentType "application/json"

  • Job starten: Rest-API, um einen ANGEHALTENEN Job zu starten.

    Option Wert
    Methode POSTEN
    URL https://management.azure.com/subscriptions/{{USER_SUBSCRIPTION}}/resourceGroups/{{USER_RESOURCE_GROUP}}/providers/Microsoft.HDInsight/clusterpools/{{CLUSER_POOL}}/clusters/{{FLINK_CLUSTER}}/runJob?api-version={{API_VERSION}}
    Überschrift Autorisierung = "Bearer $token"

    Anfragetext

       {
          "properties": {
             "jobType": "FlinkJob",
             "jobName": "<JOB_NAME>",
             "action": "START",
             "savePointName": "<SAVEPOINT_NAME>"
          }
        }
    

    Eigenschaftendetails für JSON-Textkörper:

    Eigentum Beschreibung Standardwert Obligatorisch
    Jobtyp Auftragstyp. Es sollte "FlinkJob" sein Ja
    jobName Auftragsname, der zum Starten des Auftrags verwendet wird. Ja
    Aktion Es sollte "START" sein Ja
    SpeicherpunktName Speicherpunktname, um den Auftrag zu starten. Es handelt sich um eine optionale Eigenschaft; standardmäßig verwendet der Startvorgang den letzten erfolgreichen Speicherpunkt. Nein

    Beispiel:

    Invoke-RestMethod -Uri $restUri -Method POST -Headers @{ Authorization = "Bearer $tok" } -Body $jsonString -ContentType "application/json"

  • Job-Update: REST-API zum Aktualisieren des aktuell laufenden Jobs.

    Option Wert
    Methode POSTEN
    URL https://management.azure.com/subscriptions/{{USER_SUBSCRIPTION}}/resourceGroups/{{USER_RESOURCE_GROUP}}/providers/Microsoft.HDInsight/clusterpools/{{CLUSER_POOL}}/clusters/{{FLINK_CLUSTER}}/runJob?api-version={{API_VERSION}}
    Überschrift Autorisierung = "Bearer $token"

    Anfrageinhalt

      {
          "properties": {
              "jobType": "FlinkJob",
              "jobName": "<JOB_NAME>",
              "action": "UPDATE",
              “args” : “<JOB_JVM_ARGUMENT>”,
              "savePointName": "<SAVEPOINT_NAME>"
          }
      }
    
    

    Eigenschaftendetails für JSON-Textkörper:

    Eigentum Beschreibung Standardwert Obligatorisch
    Beschäftigungsart Auftragstyp. Es sollte "FlinkJob" sein Ja
    jobName Auftragsname, der zum Starten des Auftrags verwendet wird. Ja
    Handlung Es sollte immer "UPDATE" für den neuen Jobstart sein. Ja
    Args Job JVM-Argumente Nein
    SpeicherpunktName Den Namen des Speicherpunkts angeben, um die Aufgabe zu starten. Es handelt sich um eine optionale Eigenschaft; standardmäßig wird beim Startvorgang der letzte erfolgreiche Speicherpunkt verwendet. Nein

    Beispiel:

    Invoke-RestMethod -Uri $restUri -Method POST -Headers @{ Authorization = "Bearer $tok" } -Body $jsonString -ContentType "application/json"

  • Zustandsloser Aktualisierungsauftrag: REST-API für zustandslose Updates.

    Option Wert
    Methode BEREITSTELLEN
    URL https://management.azure.com/subscriptions/{{USER_SUBSCRIPTION}}/resourceGroups/{{USER_RESOURCE_GROUP}}/providers/Microsoft.HDInsight/clusterpools/{{CLUSER_POOL}}/clusters/{{FLINK_CLUSTER}}/runJob?api-version={{API_VERSION}}
    Kopfzeile Authorization = "Bearer $token"

    Anforderungstext

      {
          "properties": {
              "jobType": "FlinkJob",
              "jobName": "<JOB_NAME>",
              "action": "STATELESS_UPDATE",
              “args” : “<JOB_JVM_ARGUMENT>”
          }
      }
    

    Eigenschaftsdetails für JSON-Inhalt:

    Eigentum Beschreibung Standardwert Obligatorisch
    Berufstyp Auftragstyp. Es sollte "FlinkJob" sein Ja
    jobName Auftragsname, der zum Starten des Auftrags verwendet wird. Ja
    Handlung Es sollte immer "STATELESS_UPDATE" für den neuen Auftragsstart sein. Ja
    Args JVM-Argumente für Jobs Nein

    Beispiel:

    Invoke-RestMethod -Uri $restUri -Method POST -Headers @{ Authorization = "Bearer $tok" } -Body $jsonString -ContentType "application/json"

  • Savepoint: Rest-APIs zum Starten des Savepoints für den Auftrag.

    Option Wert
    Methode POSTEN
    URL https://management.azure.com/subscriptions/{{USER_SUBSCRIPTION}}/resourceGroups/{{USER_RESOURCE_GROUP}}/providers/Microsoft.HDInsight/clusterpools/{{CLUSER_POOL}}/clusters/{{FLINK_CLUSTER}}/runJob?api-version={{API_VERSION}}
    Kopfzeile Authorization = "Bearer $token"

    Anforderungstext

      {
          "properties": {
              "jobType": "FlinkJob",
              "jobName": "<JOB_NAME>",
              "action": "SAVEPOINT"
          }
      }
    

    Eigenschaftendetails für JSON-Inhalt:

    Eigentum Beschreibung Standardwert Obligatorisch
    Jobtyp Auftragstyp. Es sollte "FlinkJob" sein Ja
    jobName Auftragsname, der zum Starten des Auftrags verwendet wird. Ja
    Handlung Es sollte für den neuen Jobstart immer "SAVEPOINT" sein. Ja

    Beispiel:

    Invoke-RestMethod -Uri $restUri -Method POST -Headers @{ Authorization = "Bearer $tok" } -Body $jsonString -ContentType "application/json"

  • Listenspeicherpunkt: REST-API zum Auflisten aller Speicherpunkte aus dem Speicherpunktverzeichnis.

    Option Wert
    Methode BEREITSTELLEN
    URL https://management.azure.com/subscriptions/{{USER_SUBSCRIPTION}}/resourceGroups/{{USER_RESOURCE_GROUP}}/providers/Microsoft.HDInsight/clusterpools/{{CLUSER_POOL}}/clusters/{{FLINK_CLUSTER}}/runJob?api-version={{API_VERSION}}
    Überschrift Authorization = "Bearer $token"

    Anforderungstext

      {
          "properties": {
              "jobType": "FlinkJob",
              "jobName": "<JOB_NAME>",
              "action": "LIST_SAVEPOINT"
          }
      }
    

    Eigenschaftendetails für JSON-Textkörper:

    Eigentum Beschreibung Standardwert Obligatorisch
    Jobtyp Auftragstyp. Es sollte "FlinkJob" sein Ja
    Auftragsname Auftragsname, der zum Starten des Auftrags verwendet wird Ja
    Handlung Es sollte "LIST_SAVEPOINT" sein. Ja

    Beispiel:

    Invoke-RestMethod -Uri $restUri -Method POST -Headers @{ Authorization = "Bearer $tok" } -Body $jsonString -ContentType "application/json"

  • Abbrechen: Rest-API, um den Auftrag abzubrechen.

    Option Wert
    Methode POSTEN
    URL https://management.azure.com/subscriptions/{{USER_SUBSCRIPTION}}/resourceGroups/{{USER_RESOURCE_GROUP}}/providers/Microsoft.HDInsight/clusterpools/{{CLUSER_POOL}}/clusters/{{FLINK_CLUSTER}}/runJob?api-version={{API_VERSION}}
    Kopfzeile Authorization = "Bearer $token"

    Anforderungsinhalt

      {
          "properties": {
              "jobType": "FlinkJob",
              "jobName": "<JOB_NAME>",
              "action": "CANCEL"
          }
      }
    

    Eigenschaftendetails für JSON-Textkörper:

    Eigentum Beschreibung Standardwert Obligatorisch
    Beschäftigungsart Auftragstyp. Es sollte FlinkJob Ja
    jobName Auftragsname, der zum Starten des Auftrags verwendet wird. Ja
    Handlung Es sollte CANCEL sein. Ja

    Beispiel:

    Invoke-RestMethod -Uri $restUri -Method POST -Headers @{ Authorization = "Bearer $tok" } -Body $jsonString -ContentType "application/json"

  • Löschen: Rest-API zum Löschen des Jobs.

    Option Wert
    Methode BEITRAG
    URL https://management.azure.com/subscriptions/{{USER_SUBSCRIPTION}}/resourceGroups/{{USER_RESOURCE_GROUP}}/providers/Microsoft.HDInsight/clusterpools/{{CLUSER_POOL}}/clusters/{{FLINK_CLUSTER}}/runJob?api-version={{API_VERSION}}
    Überschrift Authorization = "Bearer $token"

    Anforderungstext

      {
          "properties": {
              "jobType": "FlinkJob",
              "jobName": "<JOB_NAME>",
              "action": "DELETE"
          }
      }
    

    Details zu den Eigenschaften für JSON-Body:

    Eigentum Beschreibung Standardwert Obligatorisch
    Jobtyp Auftragstyp. Es sollte "FlinkJob" sein Ja
    jobName Auftragsname, der zum Starten des Auftrags verwendet wird. Ja
    Handlung Es sollte DELETE sein. Ja

    Beispiel:

    Invoke-RestMethod -Uri $restUri -Method POST -Headers @{ Authorization = "Bearer $tok" } -Body $jsonString -ContentType "application/json"

  • Auftragsliste: REST-API, um alle Aufträge sowie den Status der aktuellen Aktion aufzulisten.

    Option Wert
    Methode ERHALTEN
    URL https://management.azure.com/subscriptions/{{USER_SUBSCRIPTION}}/resourceGroups/{{USER_RESOURCE_GROUP}}/providers/Microsoft.HDInsight/clusterpools/{{CLUSER_POOL}}/clusters/{{FLINK_CLUSTER}}/jobs?api-version={{API_VERSION}}
    Kopfzeile Authorization = "Bearer $token"

    Ausgabe:

    { 
      "value": [ 
          { 
              "id": "/subscriptions/{{USER_SUBSCRIPTION}}/resourceGroups/{{USER_RESOURCE_GROUP}}/providers/Microsoft.HDInsight/clusterpools/{{CLUSER_POOL}}/clusters/{{FLINK_CLUSTER}}/jobs/job1", 
              "properties": { 
                  "jobType": "FlinkJob", 
                  "jobName": "job1", 
                  "jobJarDirectory": "<JOB_JAR_STORAGE_PATH>", 
                  "jarName": "<JOB_JAR_NAME>", 
                  "action": "STOP", 
                  "entryClass": "<JOB_ENTRY_CLASS>", 
                  "flinkConfiguration": { 
                      "parallelism": "2", 
                      "savepoint.directory": "<JOB_SAVEPOINT_DIRECTORY_STORAGE_PATH>s" 
                  }, 
                  "jobId": "20e9e907eb360b1c69510507f88cdb7b", 
                  "status": "STOPPED", 
                  "jobOutput": "Savepoint completed. Path: <JOB_SAVEPOINT_DIRECTORY_STORAGE_PATH>s/savepoint-20e9e9-8a48c6b905e5", 
                  "actionResult": "SUCCESS", 
                  "lastSavePoint": "<JOB_SAVEPOINT_DIRECTORY_STORAGE_PATH>s/savepoint-20e9e9-8a48c6b905e5" 
          } 
       }
      ]
    }
    

Anmerkung

Wenn eine Aktion ausgeführt wird, zeigt "actionResult" an, dass der Wert "IN_PROGRESS" ist. Bei erfolgreicher Fertigstellung zeigt es "SUCCESS" an, und im Falle eines Misserfolgs wird "FAILED" angezeigt.

Referenz