Partilhar via


Como usar o Azure Pipelines com o Apache Flink® no HDInsight no AKS

Importante

O Azure HDInsight no AKS foi desativado em 31 de janeiro de 2025. Saiba mais com este anúncio.

Você precisa migrar suas cargas de trabalho para Microsoft Fabric ou um produto equivalente do Azure para evitar o encerramento abrupto de suas cargas de trabalho.

Importante

Esta funcionalidade está atualmente em pré-visualização. Os Termos de Utilização Suplementares para Pré-visualizações do Microsoft Azure incluem mais termos legais que se aplicam a funcionalidades do Azure que estão na versão beta, em pré-visualização ou ainda não disponibilizadas no mercado em geral. Para obter informações sobre esta visualização específica, consulte as informações da pré-visualização do Azure HDInsight no AKS . Para perguntas ou sugestões de funcionalidades, envie uma solicitação no AskHDInsight com os detalhes e siga-nos para mais atualizações na Comunidade Azure HDInsight .

Neste artigo, você aprenderá a usar o Azure Pipelines com o HDInsight no AKS para enviar trabalhos Flink com a API REST do cluster. Guiamos você pelo processo usando um pipeline YAML de exemplo e um script do PowerShell, que simplificam a automação das interações da API REST.

Pré-requisitos

  • Subscrição do Azure. Se você não tiver uma assinatura do Azure, crie uma conta gratuita.

  • Uma conta do GitHub onde você pode criar um repositório. Crie um gratuitamente.

  • Crie .pipeline diretório, copie flink-azure-pipelines.yml e flink-job-azure-pipeline.ps1

  • Organização do Azure DevOps. Crie um gratuitamente. Se sua equipe já tiver um, verifique se você é um administrador do projeto de DevOps do Azure que deseja usar.

  • Capacidade de executar pipelines em agentes hospedados pela Microsoft. Para usar agentes hospedados pela Microsoft, sua organização do Azure DevOps deve ter acesso a trabalhos paralelos hospedados pela Microsoft. Você pode comprar um trabalho paralelo ou solicitar uma bolsa gratuita.

  • Um cluster Flink. Se tu não tiveres um, Cria um cluster Flink no HDInsight no AKS.

  • Crie um diretório na conta de armazenamento do cluster para copiar o ficheiro JAR do job. Este diretório precisa ser configurado mais tarde no pipeline YAML para a localização do jar do trabalho (<JOB_JAR_STORAGE_PATH>).

Etapas para configurar a linha de montagem

Criar um principal de serviço para Azure Pipelines

Criar principal de serviço do Microsoft Entra para acessar o Azure – Conceda permissão para acessar o HDInsight no AKS Cluster com função de Colaborador, anote appId, senha e locatário da resposta.

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

Exemplo:

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`

Referência

Observação

Apache, Apache Flink, Flink e nomes de projetos de código aberto associados são marcas comerciais da Apache Software Foundation (ASF).

Criar um cofre de chaves

  1. Crie o Azure Key Vault, pode seguir este tutorial para criar um novo Azure Key Vault.

  2. Crie três segredos

    • Chave de armazenamento de cluster para chave de armazenamento.

    • service-principal-key para clientId ou appId principal.

    • service-principal-secret para principal secret.

    Captura de tela mostrando como criar cofre de chaves.

  3. Conceda permissão para aceder ao Azure Key Vault com a função "Key Vault Secrets Officer" para o principal de serviço.

Configuração do pipeline

  1. Navegue até o Project e clique em Configurações do Project.

  2. Desloque-se para baixo e selecione Ligações de Serviço e, em seguida, Nova Ligação de Serviço.

  3. Selecione Azure Resource Manager.

    Captura de tela mostrando como selecionar uma nova conexão de serviço.

  4. No método de autenticação, selecione Service Principal (manual).

    Captura de tela mostra a nova conexão de serviço.

  5. Edite as propriedades da conexão de serviço. Selecione a entidade de serviço que criou recentemente.

    Captura de tela mostrando como editar a conexão de serviço.

  6. Clique em Verificar para verificar se a conexão foi configurada corretamente. Se você encontrar o seguinte erro:

    Captura de tela mostrando a mensagem de erro de conexão de serviço.

  7. Em seguida, você precisa atribuir a função Leitor à assinatura.

  8. Depois disso, a verificação deve ser bem-sucedida.

  9. Salve a conexão de serviço.

    Captura de tela mostrando como exibir o ID do locatário.

  10. Navegue até pipelines e clique em New Pipeline.

    Captura de tela mostrando como criar um novo pipeline.

  11. Selecione GitHub como o local do seu código.

  12. Selecione o repositório. Veja como criar um repositório no GitHub. imagem select-github-repo.

    Captura de tela mostrando como pesquisar seu código.

  13. Selecione o repositório. Para obter mais informações, consulte Como criar um repositório no GitHub.

    Captura de tela mostrando como selecionar um repositório GitHub.

  14. Na configuração da sua opção de pipeline, pode escolher arquivo YAML existente de Pipelines do Azure. Selecione o script de ramificação e pipeline que você copiou anteriormente. (.pipeline/flink-azure-pipelines.yml)

    Captura de tela mostrando como configurar o pipeline.

  15. Substitua o valor na seção variável.

    Captura de tela mostrando como substituir o valor.

  16. Corrija a seção de compilação de código conforme os seus requisitos e configure <JOB_JAR_LOCAL_PATH> na seção de variáveis para o caminho local do jar do trabalho.

    Captura de tela mostra a seção de compilação de código.

  17. Adicione a variável de pipeline "action" e configure o valor "RUN".

    Captura de tela mostra como adicionar variável de pipeline.

    Você pode alterar os valores da variável antes de executar o pipeline.

    • NOVO: Este valor é padrão. Ele inicia um novo trabalho e, se o trabalho já estiver em execução, atualiza o trabalho em execução com o jar mais recente.

    • SAVEPOINT: Este valor usa o ponto de salvamento para executar o trabalho.

    • DELETE: Cancele ou exclua o trabalho em execução.

  18. Salve e execute o pipeline. Pode consultar o trabalho em execução no portal na secção Flink Job.

    Captura de ecrã mostra como salvar e executar pipeline.

Observação

Este é um exemplo para enviar o trabalho usando pipeline. Você pode seguir o documento da API REST do Flink para escrever seu próprio código para enviar o trabalho.