Partilhar via


Cluster do Apache Flink Application Mode no HDInsight no AKS

Nota

Vamos desativar o Azure HDInsight no AKS em 31 de janeiro de 2025. Antes de 31 de janeiro de 2025, você precisará migrar suas cargas de trabalho para o Microsoft Fabric ou um produto equivalente do Azure para evitar o encerramento abrupto de suas cargas de trabalho. Os clusters restantes na sua subscrição serão interrompidos e removidos do anfitrião.

Apenas o apoio básico estará disponível até à data da reforma.

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 em versão beta, em pré-visualização ou ainda não disponibilizadas para disponibilidade geral. Para obter informações sobre essa visualização específica, consulte Informações de visualização do Azure HDInsight no AKS. Para perguntas ou sugestões de recursos, envie uma solicitação no AskHDInsight com os detalhes e siga-nos para obter mais atualizações na Comunidade do Azure HDInsight.

O HDInsight no AKS agora oferece um cluster de modo de aplicativo Flink. Esse cluster permite gerenciar o ciclo de vida do modo de aplicativo Flink do cluster usando o portal do Azure com interface fácil de usar e APIs Rest do Azure Resource Management. Os clusters de modo de aplicativo são projetados para dar suporte a trabalhos grandes e de longa execução com recursos dedicados e lidar com tarefas de processamento de dados extensas ou que consomem muitos recursos.

Esse modo de implantação permite que você atribua recursos dedicados para aplicativos Flink específicos, garantindo que eles tenham poder de computação e memória suficientes para lidar com grandes cargas de trabalho de forma eficiente. 

Diagrama mostrando a relação entre a janela do aplicativo Flink e a janela do gerenciador de tarefas.

Vantagens

  • Implantação de cluster simplificada com jar de trabalho.

  • API REST amigável: o HDInsight no AKS fornece APIs ARM Rest amigáveis para gerenciar a operação de trabalho no modo de aplicativo, como Atualizar, Salvar, Cancelar, Excluir.

  • Atualizações de trabalho e gerenciamento de estado fáceis de gerenciar: a integração nativa do portal do Azure fornece uma experiência sem complicações para atualizar trabalhos e restaurá-los para seu último estado salvo (savepoint). Essa funcionalidade garante a continuidade e a integridade dos dados durante todo o ciclo de vida do trabalho.

  • Automatize o(s) trabalho(s) do Flink usando o Azure Pipelines ou outras ferramentas de CI/CD: usando o HDInsight no AKS, os usuários do Flink têm acesso à API ARM Rest amigável, você pode integrar perfeitamente as operações de trabalho do Flink ao seu Pipeline do Azure ou outras ferramentas de CI/CD.

Funcionalidades principais

  • Parar e iniciar trabalhos com Savepoints: Os usuários podem parar e iniciar normalmente seus trabalhos Flink AppMode a partir de seu estado anterior (Savepoint). Os pontos de salvamento garantem que o progresso do trabalho seja preservado, permitindo retomadas perfeitas.

  • Atualizações de trabalho: o usuário pode atualizar o trabalho do AppMode em execução depois de atualizar o jar na conta de armazenamento. Esta atualização usa automaticamente o savepoint e inicia o trabalho AppMode com um novo jar.

  • Atualizações sem estado: a execução de uma nova reinicialização para um trabalho do AppMode é simplificada por meio de atualizações sem monitoração de estado. Esse recurso permite que os usuários iniciem uma reinicialização limpa usando o jar de trabalho atualizado.

  • Gerenciamento de pontos de salvamento: a qualquer momento, os usuários podem criar savepoints para seus trabalhos em execução. Esses pontos de salvamento podem ser listados e usados para reiniciar o trabalho a partir de um ponto de verificação específico, conforme necessário.

  • Cancelar: cancela o trabalho permanentemente.

  • Excluir: exclua o cluster AppMode.

Pré-requisitos

Preencha os pré-requisitos nas seguintes seções:

  • Pré-requisitos de subscrição.

  • Pré-requisitos de recursos.

  • Crie um pool de clusters.

  • Adicione jar de trabalho na Conta de Armazenamento.

    Antes de configurar um cluster do modo de aplicativo Flink, várias etapas preparatórias são necessárias. Uma dessas etapas envolve colocar o JAR de trabalho do Modo de Aplicativo na conta de armazenamento do cluster.

  • Crie um diretório para o JAR de trabalho do modo de aplicativo:

    Dentro dos contêineres dedicados, crie um diretório onde você carrega o arquivo JAR de trabalho do Modo de Aplicativo. Este diretório serve como o local para armazenar arquivos JAR que você deseja incluir no classpath do cluster ou trabalho Flink.

  • Diretório Savepoints (Opcional):

    Se os usuários pretendem obter savepoints durante a execução do trabalho, crie um diretório separado dentro da conta de armazenamento para armazenar esses savepoints. Este diretório usado para armazenar dados de ponto de verificação e metadados para savepoints.

  • Exemplo de estrutura de diretórios:

    Diagrama mostrando a estrutura de diretórios de pontos de salvamento.

Os clusters Flink AppMode podem ser criados assim que a implantação do pool de clusters for concluída, deixe-nos examinar as etapas caso você esteja começando com um pool de clusters existente.

  1. No portal do Azure, digite pools de cluster HDInsight/HDInsight/HDInsight no AKS e selecione Azure HDInsight em pools de clusters AKS para ir para a página de pools de clusters. Na página Pools de clusters do HDInsight no AKS, selecione o pool de clusters no qual você deseja criar um novo cluster Flink.

    Captura de tela mostrando a página do pool de clusters.

  2. Na página pool de clusters específico, clique em + Novo cluster e forneça as seguintes informações:

    Property Descrição
    Subscrição Este campo foi preenchido automaticamente com a assinatura do Azure que foi registrada para o Pool de Clusters.
    Grupo de Recursos Este campo preenche automaticamente e mostra o grupo de recursos no pool de clusters.
    País/Região Este campo preenche automaticamente e mostra a região selecionada no pool de clusters.
    Pool de clusters Este campo preenche automaticamente e mostra o nome do pool de clusters no qual o cluster está sendo criado. Para criar um cluster em um pool diferente, localize o pool de clusters no portal e clique em + Novo cluster.
    HDInsight na versão do pool AKS Este campo preenche automaticamente e mostra a versão do pool de clusters na qual o cluster está sendo criado.
    HDInsight na versão AKS Selecione a versão secundária ou de patch do HDInsight no AKS do novo cluster.
    Tipo de cluster Na lista suspensa, selecione Flink.
    Nome do cluster Insira o nome do novo cluster.
    Identidade gerida atribuída pelo utilizador Na lista suspensa, selecione a identidade gerenciada a ser usada com o cluster. Se você for o proprietário da Identidade de Serviço Gerenciado (MSI) e o MSI não tiver a função de Operador de Identidade Gerenciada no cluster, clique no link abaixo da caixa para atribuir a permissão necessária do MSI do pool de agentes do AKS. Se o MSI já tiver as permissões corretas, nenhum link será mostrado. Consulte os Pré-requisitos para outras atribuições de função necessárias para o MSI.
    Conta de armazenamento Na lista suspensa, selecione a conta de armazenamento a ser associada ao cluster Flink e especifique o nome do contêiner. A identidade gerenciada também recebe acesso à conta de armazenamento especificada, usando a função 'Proprietário de Dados de Blob de Armazenamento' durante a criação do cluster.
    Rede virtual A rede virtual para o cluster.
    Sub-rede A sub-rede virtual para o cluster.
  3. Ativando o catálogo do Hive para Flink SQL:

    Property Description
    Usar o catálogo do Hive Habilite essa opção para usar um metastore externo do Hive.
    Banco de dados SQL para Hive Na lista suspensa, selecione o Banco de dados SQL no qual adicionar tabelas de metastore de colmeia.
    Nome de usuário do administrador do SQL Insira o nome de usuário do administrador do SQL Server. Essa conta é usada pelo metastore para se comunicar com o banco de dados SQL.
    Key Vault Na lista suspensa, selecione o Cofre da Chave, que contém um segredo com senha para o nome de usuário do administrador do SQL Server. Você precisa configurar uma política de acesso com todas as permissões necessárias, como permissões de chave, permissões secretas e permissões de certificado para o MSI, que está sendo usado para a criação do cluster. O MSI precisa de uma função de Administrador do Cofre de Chaves. Adicione as permissões necessárias usando o IAM.
    Nome secreto da senha SQL Digite o nome secreto do Cofre de Chaves onde a senha do banco de dados SQL está armazenada.

    Captura de tela mostrando a página de criação de cluster do Apache Flink.

    Nota

    Por padrão, usamos a conta de armazenamento para o catálogo do Hive da mesma forma que a conta de armazenamento e o contêiner usados durante a criação do cluster.

  4. Selecione Next: Configuration para continuar.

  5. Na página Configuração, forneça as seguintes informações:

    Property Description
    Tamanho do nó Selecione o tamanho do nó a ser usado para os nós Flink nos nós principal e de trabalho.
    Número de nós Selecione o número de nós para o cluster Flink; Por padrão, os nós principais são dois. O dimensionamento dos nós de trabalho ajuda a determinar as configurações do gerenciador de tarefas para o Flink. O gerenciador de tarefas e os servidores de histórico estão em nós principais.
  6. Na seção Implantação, escolha o tipo de implantação como Modo de Aplicativo forneça as seguintes informações:

    Property Description
    Caminho do Jar Forneça o caminho ABFS (Storage) para seu jar de trabalho. Por exemplo, abfs://flink@teststorage.dfs.core.windows.net/appmode/job.jar
    Classe de entrada (opcional) Classe principal para seu cluster de modo de aplicativo. Ex: com.microsoft.testjob
    Args (Opcional) Argumento para a sua classe principal de trabalho.
    Salvar nome do ponto Nome do savepoint antigo, que você deseja usar para iniciar o trabalho
    Modo de atualização Selecione a opção Atualizar padrão. Esta opção é usada quando a atualização da versão principal está acontecendo para o cluster. Existem três opções disponíveis. UPDATE: Usado quando um usuário deseja se recuperar do último savepoint após a atualização. STATELESS_UPDATE: Usado quando um usuário deseja uma nova reinicialização para o trabalho após a atualização. LAST_STATE_UPDATE: Usado quando um usuário deseja recuperar o trabalho do último ponto de verificação após a atualização
    Configuração do trabalho Flink Adicione mais configuração necessária para o trabalho Flink.
  7. Selecione 'Agregação do log de trabalho'. Caixa de verificação se pretender carregar o registo de tarefas para o armazenamento remoto. Isso ajuda a depurar os problemas de trabalho. O local padrão para o log de tarefas é 'StorageAccount/Container/DeploymentId/logs'. Você pode alterar o diretório de log padrão configurando "pipeline.remote.log.dir". O intervalo padrão para a coleta de logs é de 600 seg. O usuário pode alterar configurando "pipeline.log.aggregation.interval".

  8. Na seção Configuração do Serviço, forneça as seguintes informações:

    Property Description
    CPU do gestor de tarefas Inteiro. Insira o tamanho das CPUs do gerenciador de tarefas (em núcleos).
    Memória do gestor de tarefas em MB Introduza o tamanho da memória do Gestor de tarefas em MB. Mínimo de 1.800 MB.
    CPU do gerenciador de tarefas Inteiro. Insira o número de CPUs para o gerenciador de tarefas (em núcleos).
    Memória do gestor de tarefas em MB Insira o tamanho da memória em MB. Mínimo de 1.800 MB.
    CPU do servidor de histórico Inteiro. Insira o número de CPUs para o gerenciador de tarefas (em núcleos).
    Memória do servidor de histórico em MB Insira o tamanho da memória em MB. Mínimo de 1.800 MB.

    Captura de tela mostrando a guia Apache Flink create cluster.

  9. Clique no botão Next: Integration para continuar para a próxima página.

  10. Na página Integração, forneça as seguintes informações:

    Property Description
    Log Analytics Esse recurso estará disponível somente se o espaço de trabalho de análise de log associado ao pool de clusters, uma vez habilitado, os logs a serem coletados puderem ser selecionados.
    Azure Prometheus Esse recurso é para exibir Insights e Logs diretamente em seu cluster enviando métricas e logs para o espaço de trabalho do Azure Monitor.

    Captura de tela mostrando a guia Apache Flink create cluster integrations.

  11. Clique no botão Next: Tags para continuar para a próxima página.

  12. Na página Etiquetas, forneça as seguintes informações:

    Property Descrição
    Name Opcional. Insira um nome como HDInsight no AKS para identificar facilmente todos os recursos associados aos recursos do cluster.
    Value Você pode deixar isso em branco.
    Recurso Selecione Todos os recursos selecionados.
  13. Selecione Seguinte: Rever + criar para continuar.

  14. Na página Rever + criar, procure a mensagem Validação bem-sucedida na parte superior da página e, em seguida, clique em Criar.

A página Implantação em processo exibe a criação do cluster. Leva de 5 a 10 minutos para criar o cluster. Depois que o cluster for criado, a mensagem "Sua implantação está concluída" será exibida. Se você sair da página, poderá verificar suas Notificações para saber o status atual.

Gerenciar trabalho de aplicativo no portal

O HDInsight AKS fornece maneiras de gerenciar trabalhos do Flink. Você pode reiniciar um trabalho com falha. Reinicie o trabalho a partir do portal.

Para executar o trabalho Flink a partir do portal, vá para:

Portal > HDInsight no AKS Cluster Pool > Flink Cluster > Settings > Flink Jobs.

Captura de tela mostrando trabalhos do Apache Flink em execução.

  • Parar: Parar trabalho não exigia nenhum parâmetro. O usuário pode parar o trabalho selecionando a ação. Quando o trabalho for interrompido, o status do trabalho no portal será INTERROMPIDO.

  • Iniciar: inicia o trabalho a partir do savepoint. Para iniciar o trabalho, selecione o trabalho interrompido e inicie-o.

  • Atualização: a atualização ajuda a reiniciar trabalhos com código de trabalho atualizado. Os usuários precisam atualizar o jar de trabalho mais recente no local de armazenamento e atualizar o trabalho do portal. Esta ação interrompe o trabalho com savepoint e começa novamente com o jar mais recente.

  • Atualização sem estado: Apátrida é como uma atualização, mas envolve uma nova reinicialização do trabalho com o código mais recente. Depois que o trabalho é atualizado, o status do trabalho no portal a é exibido como Em execução.

  • Savepoint: Pegue o savepoint para o Flink Job.

  • Cancelar: encerre o trabalho.

  • Excluir: exclua o cluster AppMode.

  • Exibir detalhes do trabalho: Para visualizar os detalhes do trabalho, o usuário pode clicar no nome do trabalho, ele fornece os detalhes sobre o trabalho e o resultado da última ação.

    Captura de tela mostrando o modo de exibição JSON.

Para qualquer ação falhada, esta visão json fornece exceções detalhadas e razões para a falha.