Condividi tramite


Come usare Azure Pipelines con Apache Flink® su HDInsight su AKS

Importante

Azure HDInsight su AKS è stato ritirato il 31 gennaio 2025. Scopri di più con questo annuncio.

È necessario eseguire la migrazione dei carichi di lavoro a Microsoft Fabric o a un prodotto Azure equivalente per evitare la chiusura brusca dei carichi di lavoro.

Importante

Questa funzionalità è attualmente in anteprima. Le condizioni supplementari per l'utilizzo per le anteprime di Microsoft Azure includono termini legali più validi applicabili alle funzionalità di Azure in versione beta, in anteprima o altrimenti non ancora rilasciate nella disponibilità generale. Per informazioni su questa anteprima specifica, vedere Azure HDInsight in anteprima su AKS. Per domande o suggerimenti sulle funzionalità, si prega di inviare una richiesta su AskHDInsight con i dettagli e seguire Microsoft per altri aggiornamenti sul Azure HDInsight Community.

Questo articolo illustra come usare Azure Pipelines con HDInsight su AKS per inviare processi Flink con l'API REST del cluster. Verrà illustrato il processo usando una pipeline YAML di esempio e uno script di PowerShell, entrambi semplificano l'automazione delle interazioni con l'API REST.

Prerequisiti

  • Sottoscrizione di Azure. Se non si ha una sottoscrizione di Azure, creare un account gratuito.

  • Un account GitHub in cui è possibile creare un repository. Creane uno gratuitamente.

  • Crea la directory .pipeline, copia flink-azure-pipelines.yml e flink-job-azure-pipeline.ps1

  • Organizzazione di Azure DevOps. Creane uno gratuitamente. Se il team ne ha già uno, assicurarsi di essere un amministratore del progetto Azure DevOps che si vuole usare.

  • Possibilità di eseguire pipeline su agenti ospitati da Microsoft. Per usare gli agenti ospitati da Microsoft, l'organizzazione Azure DevOps deve avere accesso ai processi paralleli ospitati da Microsoft. È possibile acquistare un posto di lavoro parallelo oppure richiedere una sovvenzione gratuita.

  • Un cluster Flink. Se non ne hai uno, Creare un cluster Flink in HDInsight su AKS.

  • Creare una directory nell'account di archiviazione del cluster per copiare il file JAR del job. In un secondo momento, è necessario configurare questa directory nel file YAML della pipeline per il percorso del file jar del processo (<JOB_JAR_STORAGE_PATH>).

Passaggi per configurare la pipeline

Creare un'entità servizio per Azure Pipelines

Creare 'entità servizio Microsoft Entra per accedere ad Azure: concedere l'autorizzazione per accedere a HDInsight nel cluster del servizio Azure Kubernetes con il ruolo Collaboratore, prendere nota di appId, password e tenant dalla risposta.

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

Esempio:

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`

Riferimento

Nota

Apache, Apache Flink, Flink e i nomi dei progetti open source associati sono marchi della Apache Software Foundation (ASF).

Creare un archivio di chiavi

  1. Creare l'Azure Key Vault, è possibile seguire questo tutorial per creare un nuovo Azure Key Vault.

  2. Creare tre segreti

    • cluster-storage-key per la chiave di archiviazione.

    • chiave del service-principal per il clientId o l'appId principale.

    • segreto del principale del servizio per il segreto principale.

    Screenshot che mostra come creare un archivio di chiavi.

  3. Concedi l'autorizzazione per l'accesso ad Azure Key Vault con il ruolo "Key Vault Secrets Officer" al principale del servizio.

Configurare la pipeline

  1. Passare al progetto e fare clic su Impostazioni progetto.

  2. Scorrere verso il basso e selezionare Connessioni al servizio e quindi Nuova connessione al servizio.

  3. Selezionare Azure Resource Manager.

    Screenshot che mostra come selezionare una nuova connessione al servizio.

  4. Nel metodo di autenticazione, selezionare "Entità del servizio" (manuale).

    Screenshot mostra la nuova connessione al servizio.

  5. Modificare le proprietà di connessione del servizio. Selezionare l'entità servizio principale creata di recente.

    Screenshot che mostra come modificare la connessione al servizio.

  6. Fare clic su Verifica per verificare se la connessione è stata configurata correttamente. Se viene visualizzato l'errore seguente:

    Screenshot che mostra il messaggio di errore di connessione del servizio.

  7. È quindi necessario assegnare il ruolo Lettore all'abbonamento.

  8. Successivamente, la verifica dovrebbe avere successo.

  9. Salvare la connessione al servizio.

    Una schermata che mostra come visualizzare l'

  10. Passare alle pipeline e fare clic su Nuova Pipeline.

    Screenshot che mostra come creare una nuova pipeline.

  11. Selezionare GitHub come percorso del codice.

  12. Selezionare il repository. Vedere come creare un repository in GitHub. immagine select-github-repo.

    Screenshot che mostra come cercare il codice.

  13. Seleziona il repository. Per altre informazioni, consulta la guida su come creare un repository su GitHub.

    Screenshot che mostra come selezionare un repository GitHub.

  14. Dall'opzione configura la pipeline è possibile scegliere file YAML di Azure Pipelines esistente. Selezionare il branch e lo script della pipeline che hai copiato in precedenza. (.pipeline/flink-azure-pipelines.yml)

    Screenshot che mostra come configurare la pipeline.

  15. Sostituire il valore nella sezione della variabile.

    Screenshot che mostra come sostituire il valore.

  16. Correggere la sezione di compilazione del codice in base alle esigenze e configurare <JOB_JAR_LOCAL_PATH> nella sezione variabile per il percorso locale del file JAR del processo.

    Screenshot mostra la sezione di compilazione del codice.

  17. Aggiungere la variabile di pipeline "action" e configurare il valore "RUN".

    Screenshot mostra come aggiungere una variabile della pipeline.

    è possibile modificare i valori della variabile prima di eseguire la pipeline.

    • NEW: questo valore è predefinito. Avvia un nuovo processo e, se il processo è già in esecuzione, aggiorna il processo in esecuzione con il file JAR più recente.

    • SAVEPOINT: questo valore accetta il punto di salvataggio per l'esecuzione del processo.

    • DELETE: annullare o eliminare il processo in esecuzione.

  18. Salvare ed eseguire la pipeline. È possibile vedere il job in esecuzione nel portale nella sezione Flink Job.

    Lo screenshot mostra come salvare ed eseguire la pipeline.

Nota

Questo è un esempio per inviare il lavoro usando la pipeline. È possibile seguire la documentazione dell'API REST di Flink per scrivere il tuo codice per sottomettere il job.