Compartilhar via


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

Importante

O Azure HDInsight no AKS se aposentou em 31 de janeiro de 2025. Saiba mais neste 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

Esse recurso está atualmente em versão prévia. Os termos de uso complementares para o Microsoft Azure Previews incluem mais termos legais que se aplicam aos recursos do Azure que estão em versão beta, em versão prévia ou ainda não lançados em disponibilidade geral. Para obter informações sobre essa versão prévia específica, consulte Azure HDInsight em informações de visualização do AKS. Para perguntas ou sugestões de recursos, envie uma solicitação no AskHDInsight com os detalhes e siga-nos para mais atualizações sobre a Comunidade do 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. Orientamos você pelo processo usando um pipeline YAML de exemplo e um script do PowerShell, ambos simplificando a automação das interações da API REST.

Pré-requisitos

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

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

  • Criar o diretório .pipeline, copiar 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 do Azure DevOps 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 concessão gratuita.

  • Um cluster Flink. Se você não tiver um, Criar um cluster Flink no HDInsight no AKS.

  • Crie um diretório na conta de armazenamento do cluster para copiar o arquivo jar do trabalho. Posteriormente, você precisará configurar esse diretório no YAML do pipeline para a localização do jar da tarefa (<JOB_JAR_STORAGE_PATH>).

Etapas para configurar o pipeline

Criar um principal de serviço para o Azure Pipelines

Crie entidade de serviço do Microsoft Entra para acessar o Azure – Conceda permissão para acessar o HDInsight no Cluster do AKS com a Função Colaborador e anote o ID do aplicativo, 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

Nota

Apache, Apache Flink, Flink e nomes de projeto de software livre associados são marcas comerciais do ASF (Apache Software Foundation).

Criar um cofre de chaves

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

  2. Criar três segredos

    • chave-de-armzenamento-em-cluster para chave de armazenamento.

    • chave do principal do serviço para clientId ou appId principal.

    • segredo-principal-da-entidade-de-serviço para o segredo principal.

    Captura de tela mostrando como criar o cofre de chaves.

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

Configuração de pipeline

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

  2. Role para baixo e selecione Conexões de Serviço e, em seguida, Nova Conexão de Serviço.

  3. Selecione o 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 o principal de serviço que você 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 a ID do Locatário.

  10. Navegue até Pipelines e clique em Novo Pipeline.

    Captura de tela mostrando como criar um novo pipeline.

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

  12. Selecione o repositório. Veja como criar um repositório no GitHub. imagem do repositório do GitHub selecionado.

    Captura de tela mostrando como pesquisar seu código.

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

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

  14. Na opção de configuração do pipeline, você pode escolher arquivo YAML do Azure Pipelines existente. Selecione o script de branch e pipeline copiado 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. Corrigir a seção de construção de código com base em suas necessidades e configurar <JOB_JAR_LOCAL_PATH> na seção de variáveis para o caminho local do arquivo jar do trabalho.

    A captura de tela mostra a seção de build de código.

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

    A captura de tela mostra como adicionar uma variável de pipeline.

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

    • NOVO: Esse valor é padrão. Ele inicia uma nova tarefa e, se a tarefa já estiver em execução, ele atualizará a tarefa em execução com o arquivo jar mais recente.

    • SAVEPOINT: Esse valor indica o ponto de salvamento para executar o trabalho.

    • DELETE: Cancelar ou excluir o trabalho em execução.

  18. Salve e execute o pipeline. Você pode ver o job em execução no portal na seção Flink Job.

    A captura de tela mostra como salvar e executar o pipeline.

Nota

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