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.ps1Organizaçã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
Crie o Azure Key Vault, pode seguir este tutorial para criar um novo Azure Key Vault.
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.
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
Navegue até o Project e clique em Configurações do Project.
Desloque-se para baixo e selecione Ligações de Serviço e, em seguida, Nova Ligação de Serviço.
Selecione Azure Resource Manager.
No método de autenticação, selecione Service Principal (manual).
Edite as propriedades da conexão de serviço. Selecione a entidade de serviço que criou recentemente.
Clique em Verificar para verificar se a conexão foi configurada corretamente. Se você encontrar o seguinte erro:
Em seguida, você precisa atribuir a função Leitor à assinatura.
Depois disso, a verificação deve ser bem-sucedida.
Salve a conexão de serviço.
Navegue até pipelines e clique em New Pipeline.
Selecione GitHub como o local do seu código.
Selecione o repositório. Veja como criar um repositório no GitHub. imagem select-github-repo.
Selecione o repositório. Para obter mais informações, consulte Como criar um repositório no GitHub.
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)
Substitua o valor na seção variável.
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.
Adicione a variável de pipeline "action" e configure o valor "RUN".
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.
Salve e execute o pipeline. Pode consultar o trabalho em execução no portal na secção Flink Job.
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.