Partilhar via


O que é o Apache Flink® no Azure HDInsight no AKS? (Pré-visualização)

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 Apache Flink é uma estrutura e mecanismo de processamento distribuído para cálculos com estado em fluxos de dados ilimitados e limitados. O Flink foi projetado para ser executado em todos os ambientes de cluster comuns, executar cálculos e aplicativos de streaming com monitoração de estado na velocidade na memória e em qualquer escala. Os aplicativos são paralelizados em possivelmente milhares de tarefas que são distribuídas e executadas simultaneamente em um cluster. Portanto, um aplicativo pode usar quantidades ilimitadas de vCPUs, memória principal, disco e E/S de rede. Além disso, o Flink mantém facilmente um grande estado de aplicação. Seu algoritmo de ponto de verificação assíncrono e incremental garante uma influência mínima nas latências de processamento, garantindo consistência de estado exatamente uma vez.

O Apache Flink é um mecanismo de análise massivamente escalável para processamento de fluxo.

Alguns dos principais recursos que o Flink oferece são:

  • Operações em fluxos limitados e não limitados
  • Desempenho na memória
  • Capacidade para streaming e cálculos em lote
  • Operações de baixa latência e alta taxa de transferência
  • Exatamente uma vez processando
  • Elevada Disponibilidade
  • Estado e tolerância a falhas
  • Totalmente compatível com o ecossistema Hadoop
  • APIs SQL unificadas para fluxo e lote

Diagrama de arquitetura Flink.

Apache Flink é uma excelente escolha para desenvolver e executar muitos tipos diferentes de aplicações devido ao seu extenso conjunto de recursos. Os recursos do Flink incluem suporte para processamento de fluxo e lote, gerenciamento de estado sofisticado, semântica de processamento de tempo de evento e garantias de consistência exatamente uma vez para o estado. O Flink não tem um único ponto de falha. Está provado que o Flink é dimensionado para milhares de núcleos e terabytes de estado do aplicativo, oferece alta taxa de transferência e baixa latência e alimenta alguns dos aplicativos de processamento de fluxo mais exigentes do mundo.

  • Deteção de fraudes: o Flink pode ser usado para detetar transações ou atividades fraudulentas em tempo real, aplicando regras complexas e modelos de aprendizado de máquina em dados de streaming.
  • Deteção de anomalias: o Flink pode ser usado para identificar valores atípicos ou padrões anormais em dados de streaming, como leituras de sensores, tráfego de rede ou comportamento do usuário.
  • Alertas baseados em regras: o Flink pode ser usado para disparar alertas ou notificações com base em condições predefinidas ou limites em dados de streaming, como temperatura, pressão ou preços de ações.
  • Monitoramento de processos de negócios: o Flink pode ser usado para rastrear e analisar o status e o desempenho de processos de negócios ou fluxos de trabalho em tempo real, como atendimento de pedidos, entrega ou atendimento ao cliente.
  • Aplicação Web (rede social): O Flink pode ser utilizado para alimentar aplicações Web que requerem processamento em tempo real de dados gerados pelo utilizador, tais como mensagens, gostos, comentários ou recomendações.

Leia mais sobre casos de uso comuns descritos em casos de uso do Apache Flink

Os clusters Apache Flink no HDInsight no AKS são um serviço totalmente gerenciado. Os benefícios da criação de um cluster Flink no HDInsight no AKS estão listados aqui.

Funcionalidade Description
Criação fácil Você pode criar um novo cluster Flink no HDInsight em minutos usando o portal do Azure, o Azure PowerShell ou o SDK. Consulte Introdução ao cluster Apache Flink no HDInsight no AKS.
Facilidade de utilização Os clusters Flink no HDInsight no AKS incluem gerenciamento de configuração baseado em portal e dimensionamento. Além disso com a API de gerenciamento de tarefas, você usa a API REST ou o portal do Azure para gerenciamento de tarefas.
APIs REST Os clusters Flink no HDInsight no AKS incluem a API de gerenciamento de tarefas, um método de envio de trabalho Flink baseado em API REST para enviar e monitorar trabalhos remotamente no portal do Azure.
Tipo de Implementação Flink pode executar aplicativos no modo de sessão ou modo de aplicativo. Atualmente, o HDInsight no AKS suporta apenas clusters de sessão. Você pode executar vários trabalhos Flink em um cluster de sessão. O modo de aplicativo está no roteiro do HDInsight em clusters AKS
Suporte para Metastore Os clusters Flink no HDInsight no AKS podem dar suporte a catálogos com o Hive Metastore em diferentes formatos de arquivo abertos com pontos de verificação remotos para o Azure Data Lake Storage Gen2.
Suporte para o Armazenamento do Azure Os clusters Flink no HDInsight podem usar o Azure Data Lake Storage Gen2 como coletor de arquivos. Para obter mais informações sobre o Data Lake Storage Gen2, consulte Azure Data Lake Storage Gen2.
Integração com os serviços do Azure O cluster Flink no HDInsight no AKS vem com uma integração ao Kafka, juntamente com os Hubs de Eventos do Azure e o Azure HDInsight. Você pode criar aplicativos de streaming usando os Hubs de Eventos ou o HDInsight.
Adaptabilidade O HDInsight no AKS permite dimensionar os nós do cluster Flink com base na programação com o recurso Autoscale. Consulte Dimensionar automaticamente o Azure HDInsight em clusters AKS.
Back-end de estado O HDInsight no AKS usa o RocksDB como StateBackend padrão. O RocksDB é um armazenamento de chave-valor persistente incorporável para armazenamento rápido.
Pontos de verificação O ponto de verificação está habilitado no HDInsight em clusters AKS por padrão. As configurações padrão do HDInsight no AKS mantêm os últimos cinco pontos de verificação no armazenamento persistente. Caso o seu trabalho falhe, o trabalho pode ser reiniciado a partir do ponto de verificação mais recente.
Pontos de verificação incrementais O RocksDB suporta pontos de verificação incrementais. Incentivamos o uso de pontos de verificação incrementais para estados grandes, você precisa habilitar esse recurso manualmente. Definir um padrão em seus flink-conf.yaml: state.backend.incremental: true habilita pontos de verificação incrementais, a menos que o aplicativo substitua essa configuração no código. Esta afirmação é verdadeira por padrão. Como alternativa, você pode configurar esse valor diretamente no código (substitui o padrão de configuração). EmbeddedRocksDBStateBackend` backend = new `EmbeddedRocksDBStateBackend(true); Por padrão, preservamos os últimos cinco pontos de verificação no dir de ponto de verificação configurado. Esse valor pode ser alterado alterando a configuração na seção de gerenciamento de configuração state.checkpoints.num-retained: 5

Os clusters Apache Flink no HDInsight no AKS incluem os seguintes componentes, eles estão disponíveis nos clusters por padrão.

Consulte o Roteiro sobre o que está por vir em breve!

O Flink agenda trabalhos usando três componentes distribuídos, Gerenciador de tarefas, Gerenciador de tarefas e Cliente de trabalho, que são definidos em um padrão Líder-Seguidor.

Flink Job: Um trabalho ou programa Flink consiste em várias tarefas. As tarefas são a unidade básica de execução no Flink. Cada tarefa Flink tem várias instâncias, dependendo do nível de paralelismo, e cada instância é executada em um TaskManager.

Gestor de tarefas: O gestor de tarefas atua como um agendador e agenda tarefas em gestores de tarefas.

Gerenciador de tarefas: os gerentes de tarefas vêm com um ou mais slots para executar tarefas em paralelo.

Cliente de trabalho: O cliente de trabalho se comunica com o gerente de trabalho para enviar trabalhos do Flink

Flink Web UI: O Flink apresenta uma interface do usuário da Web para inspecionar, monitorar e depurar aplicativos em execução.

Diagrama de processo Flink mostrando como o trabalho, o gerenciador de tarefas, o gerenciador de tarefas e o cliente de trabalho trabalham juntos.

Referência