Delen via


Azure Pipelines gebruiken met Apache Flink® in HDInsight op AKS

Belangrijk

Azure HDInsight op AKS is op 31 januari 2025 buiten gebruik gesteld. Ontdek meer over met deze aankondiging.

U moet uw workloads migreren naar Microsoft Fabric- of een gelijkwaardig Azure-product om plotselinge beëindiging van uw workloads te voorkomen.

Belangrijk

Deze functie is momenteel beschikbaar als preview-versie. De aanvullende gebruiksvoorwaarden voor Microsoft Azure Previews meer juridische voorwaarden bevatten die van toepassing zijn op Azure-functies die bèta, in preview of anderszins nog niet in algemene beschikbaarheid zijn vrijgegeven. Zie Azure HDInsight in AKS preview-informatievoor meer informatie over deze specifieke preview. Voor vragen of suggesties voor functies dient u een aanvraag in op AskHDInsight- met de details en volgt u ons voor meer updates over Azure HDInsight Community-.

In dit artikel leert u hoe u Azure Pipelines gebruikt met HDInsight in AKS om Flink-taken te verzenden met de REST API van het cluster. We begeleiden u door het proces met behulp van een YAML-voorbeeldpijplijn en een PowerShell-script, die beide de automatisering van de REST API-interacties stroomlijnen.

Voorwaarden

  • Azure-abonnement. Als u geen Azure-abonnement hebt, maakt u een gratis account.

  • Een GitHub-account waar u een opslagplaats kunt maken. Maak er gratis.

  • Maak de .pipeline directory aan, kopieer flink-azure-pipelines.yml en flink-job-azure-pipeline.ps1

  • Azure DevOps-organisatie. Maak er gratis een. Als uw team er al een heeft, moet u ervoor zorgen dat u een beheerder bent van het Azure DevOps-project dat u wilt gebruiken.

  • Mogelijkheid om pijplijnen uit te voeren op door Microsoft gehoste agents. Als u door Microsoft gehoste agents wilt gebruiken, moet uw Azure DevOps-organisatie toegang hebben tot door Microsoft gehoste parallelle taken. U kunt een parallelle taak aanschaffen of u kunt een gratis subsidie aanvragen.

  • Een Flink Cluster. Als u er geen hebt, Maak een Flink-cluster aan in HDInsight op AKS.

  • Maak één map in het clusteropslagaccount om taak-JAR te kopiëren. Deze map moet u later configureren in de YAML-pijplijn voor locatie van taak-JAR (<JOB_JAR_STORAGE_PATH>).

Stappen voor het instellen van pijplijn

Een service-principal maken voor Azure Pipelines

Maak Microsoft Entra-service-principal aan om toegang tot Azure te verkrijgen. Verleen toestemming voor toegang tot HDInsight op AKS-cluster met de rol van Inzender. Noteer appId, wachtwoord en tenant uit het antwoord.

az ad sp create-for-rbac -n <service_principal_name> --role Contributor --scopes <Flink Cluster Resource ID>`

Voorbeeld:

az ad sp create-for-rbac -n azure-flink-pipeline --role Contributor --scopes /subscriptions/abdc-1234-abcd-1234-abcd-1234/resourceGroups/myResourceGroupName/providers/Microsoft.HDInsight/clusterpools/hiloclusterpool/clusters/flinkcluster`

Referentie

Notitie

Apache, Apache Flink, Flink en bijbehorende opensource-projectnamen zijn handelsmerken van de Apache Software Foundation (ASF).

Een sleutelkluis maken

  1. Maak Azure Key Vault. U kunt deze zelfstudie volgen om een nieuwe Azure Key Vault te maken.

  2. Drie geheimen maken

    • sleutel-voor-clusteropslag voor opslag-sleutel.

    • service-principal-sleutel voor de principal clientId of appId.

    • service-principal-secret- voor principal-geheim.

    schermopname waarin wordt getoond hoe u een sleutelkluis maakt.

  3. Verleen toestemming voor toegang tot Azure Key Vault met de rol “Key Vault Secrets Officer” aan de service-principal.

Pijplijn instellen

  1. Navigeer naar uw project en klik op Projectinstellingen.

  2. Schuif omlaag en selecteer Serviceverbindingen en vervolgens Nieuwe serviceverbinding.

  3. Selecteer Azure Resource Manager.

    schermopname waarin wordt getoond hoe u een nieuwe serviceverbinding selecteert.

  4. Selecteer Service Principal (handmatig) binnen de verificatiemethode.

    Schermopname toont een nieuwe serviceverbinding.

  5. Bewerk de eigenschappen van de serviceverbinding. Selecteer de service-principal die u onlangs hebt gemaakt.

    Schermopname van het bewerken van de serviceverbinding.

  6. Klik op Controleren om te controleren of de verbinding juist is ingesteld. Als u de volgende fout tegenkomt:

    Schermopname van het foutbericht over de serviceverbinding.

  7. Vervolgens moet u de rol Lezer toewijzen aan het abonnement.

  8. Daarna moet de verificatie zijn geslaagd.

  9. Sla de serviceverbinding op.

    schermopname waarin wordt getoond hoe u de tenant-id kunt weergeven.

  10. Navigeer naar pijplijnen en klik op Nieuwe pijplijn.

    schermopname waarin wordt getoond hoe u een nieuwe pijplijn maakt.

  11. Selecteer GitHub als de locatie van uw code.

  12. Selecteer de opslagplaats. Zie hoe u een opslagplaats maakt in GitHub. afbeelding van select-github-repo.

    schermopname waarin wordt getoond hoe u uw code kunt doorzoeken.

  13. Selecteer de opslagplaats. Zie een opslagplaats maken in GitHub voor meer informatie.

    Schermopname waarin wordt getoond hoe u een GitHub-opslagplaats selecteert.

  14. Als u de pijplijnoptie configureert, kunt u kiezen BESTAAND YAML-bestand van Azure Pipelines. Selecteer het vertakkings- en pijplijnscript dat u eerder hebt gekopieerd. (.pipeline/flink-azure-pipelines.yml)

    schermopname die laat zien hoe u de pijplijn configureert.

  15. Vervang de waarde in de variabele sectie.

    schermopname waarin wordt getoond hoe u de waarde vervangt.

  16. Corrigeer de code-buildsectie op basis van uw behoeften en configureer <JOB_JAR_LOCAL_PATH> in de sectie Variabelen voor het lokale pad van de job-JAR.

    Schermopname laat de code-opbouwsectie zien.

  17. Voeg de pijplijnvariabele 'action' toe en configureer de waarde 'RUN'.

    Schermopname laat zien hoe u een pijplijnvariabele toevoegt.

    u kunt de waarden van de variabele wijzigen voordat u de pijplijn uitvoert.

    • NIEUW: Deze waarde is standaard. Er wordt een nieuwe job gestart en als de job al wordt uitgevoerd, wordt de actieve job bijgewerkt met de nieuwste jar.

    • SAVEPOINT: Deze waarde neemt het opslagpunt voor het uitvoeren van de taak.

    • VERWIJDEREN: De actieve taak annuleren of verwijderen.

  18. Sla de pijplijn op en voer deze uit. U kunt de lopende taak op de portal in de sectie Flink Job zien.

    Schermopname laat zien hoe u de pipeline opslaat en uitvoert.

Notitie

Dit is een voorbeeld voor het indienen van de taak met behulp van een pijplijn. U kunt het Flink REST API-document volgen om uw eigen code te schrijven om een taak in te dienen.