Tutorial Apache NiFi: O que é NiFi? Archiarquitetura e instalação
Resumo do tutorial do Apache NiFi
Este tutorial do Apache NiFi cobre todos os tópicos básicos a avançados do zero. Você aprenderá conceitos como definição de NiFi, histórico, arquitetura, recursos, processo de instalação, casos de uso. Você também aprenderá por que precisa usar o Apache NiFi e as melhores práticas para executar o Apache NiFi.
O que é Apache NiFi?
Apache NiFiName é um software de código aberto para automatizar e gerenciar o fluxo de dados entre sistemas. É um sistema poderoso e confiável para processar e distribuir dados. Ele fornece interface de usuário baseada na web para criar, monitorar e controlar fluxos de dados. Possui um processo de fluxo de dados altamente configurável e modificável para modificar dados em tempo de execução.
Apache NiFi é facilmente extensível através do desenvolvimento de componentes customizados.
Por que usar o Apache NIfi?
Aqui estão os motivos para usar o Apache Nifi:
- Permite que você faça ingestão de dados para extrair dados para NiFi, de inúmeras fontes de dados e criar arquivos de fluxo
- Oferece controle em tempo real que ajuda você a gerenciar a movimentação de dados entre qualquer origem e destino
- Visualize o DataFlow no nível empresarial
- Fornece ferramentas e extensões comuns
- Permite que você aproveite as bibliotecas existentes e Java funcionalidade do ecossistema
- Ajuda as organizações a integrar o Nifi com sua infraestrutura existente
- NiFi foi projetado para expansão em clusters que oferecem entrega garantida de dados
- Visualize e monitore o desempenho e o comportamento em um boletim de fluxo que oferece insights e documentação inline
- Ajuda você a iniciar e parar componentes separadamente ou em nível de grupo
- Ele ajuda você a ouvir, buscar, dividir, agregar, rotear, transformar e arrastar e soltar o Dataflow
História do Apache NiFi
- Desenvolvido na NSA há mais de oito anos
- 2014- Foi doado para a Apache Software Foundation
- 2015- NiFi tornou-se parte oficial do Apache Project Suite
- Desde então, a cada 6 a 8 semanas, o Apache NiFi lança uma nova atualização
a menos que Archiarquitetura
Apache NiFi possui uma arquitetura bem pensada. Depois que os dados são obtidos de fontes externas, eles são representados como FlowFile dentro da arquitetura Apache NiFi.
Aqui estão os principais componentes da arquitetura NiFi
Componente Nifi | Descrição |
---|---|
Arquivo de fluxo | FlowFile são dados originais com metainformações anexadas a eles. Ele permite processar não apenas CSV ou outros dados baseados em registros, mas também imagens, vídeos, áudio ou quaisquer outros dados binários. |
Processador de arquivo de fluxo | Executa o trabalho que atua como um bloco de construção do fluxo de dados no NiFi. |
controlador de fluxo | Mantém um registro de como os processos estão conectados. Ele gerencia os threads e suas alocações que todos os processos usam. |
web Server | O servidor Web hospeda comandos e API baseados em HTTP do NiFi. |
Extensão | Existem muitos tipos de extensões NiFi que operam e são executadas na JVM. |
Conexão | Atua como uma ligação entre processadores que contêm uma fila e relacionamentos que afetam para onde os dados são roteados. |
Contrapressão | Evite que o sistema seja sobrecarregado controlando a quantidade ou o tamanho dos dados dos arquivos de fluxo que podem ser armazenados na fila. |
Grupo de Processos | Um grupo de processos é um conjunto de processos e suas conexões, que recebe e envia dados com a ajuda de portas. |
Repositório de arquivos de fluxo | No repositório FlowFile, o NiFi monitora o estado de quais detalhes possui sobre um determinado FlowFile que está ativo no fluxo. |
Repositório de Conteúdo | O Repositório de Conteúdo é uma área onde existem os bytes de conteúdo reais de um determinado FlowFile. |
Repositório de Proveniência | O Repositório de Proveniência é uma área onde todos os dados de eventos de proveniência são coletados. |
Recursos do Apache NiFi
- NiFi suporta buffer de todos os dados enfileirados e oferece uma capacidade de contrapressão, pois essas filas podem atingir limites especificados
- NiFi permite a configuração de um ou mais esquemas de priorização
- Fornece processadores de conexão para muitas fontes de dados
- Suporta qualquer dispositivo que execute Java
- Ideal para locais com conectividade limitada
- Suporte para solução de problemas e otimização de fluxo
- Oferece autenticação/autorização baseada em função
- Permite download, recuperação e reprodução de arquivos individuais
- Crie seus processadores, serviços de controlador e muito mais
- Fornece criptografia de conteúdo e comunicação por meio de protocolos seguros
- Permite desenvolvimento rápido e testes eficazes
- Permite o desenvolvimento de componentes simples de função única que podem ser reutilizados e combinados para criar fluxos mais complexos
- Permite o isolamento do carregador de classe para facilitar o gerenciamento de dependências
Como instalar o Apache NiFi
Abaixo está um processo passo a passo para instalação do Apache NiFi
Passo 1) Acesse a ligação,
e clique em “Continuar a se inscrever”
Passo 2) Na próxima página,
Clique em “Aceitar Termos”
Passo 3) Você verá esta página,
Obrigado por assinar este produto! Estamos processando sua requisição.
Passo 4) Atualize a página após 5 minutos.
Clique em “Continuar para configuração”
Passo 5) Na próxima página,
Mantenha as configurações padrão e clique em “Continuar para iniciar”
Passo 6) Na próxima página,
Clique em Iniciar. Talvez seja necessário criar uma chave
Passo 7) Você verá esta mensagem de sucesso.
Parabéns! Uma instância deste software foi implantada com sucesso no EC2!
Passo 8) Nota,
O ID da instância e o DNS público da instância EC2
Passo 9) No grupo de segurança,
Adicione todas as regras de tráfego de entrada e saída
Passo 10) Para acessar o Nifi,
basta usar o URL
http://publicdns:8080/nifi
No nosso caso torna-se
http://ec2-100-26-156-57.compute-1.amazonaws.com:8080/nifi/
Utilizador: administrador
Senha: ID da instância
Passo 11) Você verá,
Tela inicial do NiFi
Casos de uso Nifi
Abaixo está uma lista de casos de uso do Apache NiFi:
Indústria | Uso |
---|---|
Seguros |
|
HealthCare |
|
Telecomunicação |
|
Indústria |
|
Petróleo e Gás - Indústria |
|
Serviços Financeiros |
|
Melhores práticas Executando Apache NiFi
- Ideal para separar ambientes de teste/desenvolvimento/produção em NiFi
- Você deve dividir seu fluxo em grupos de processos
- Use uma convenção de nomenclatura, use comentários e rótulos
- Organize seus projetos em três partes: ingestão, teste e monitoramento
- Use nomes exclusivos para variáveis
Desvantagem do Nifi
- Precisa de controles precisos de segurança e conformidade
- Você precisa conhecer muito bem o sistema subjacente ao trabalhar com Apache NiFi
- Deve manter a cadeia de custódia dos dados
- Transporte / Mensagens podem não ser suficientes
- As necessidades de acesso a dados excedem os recursos disponíveis para transporte
- Nem todos os dados são criados igualmente
- SSL e autorização em nível de tópico podem não ser suficientes
Resumo
- Apache NiFi é um software de código aberto para automatizar e gerenciar o fluxo de dados entre sistemas
- NiFi foi projetado para expansão em clusters que oferecem entrega garantida de dados
- Nifi foi desenvolvido na NSA por mais de oito anos
- Depois que os dados são obtidos de fontes externas, eles são representados como FlowFile dentro da arquitetura Apache NiFi.
- FlowFile, processador, controlador, servidor web, conexão, contrapressão, repositório são componentes importantes da arquitetura NiFi
- A linguagem de expressão NiFi suporta qualquer dispositivo que execute Java
- Você pode instalar facilmente o NiFi na AWS
- NiFi é usado em diversos setores, como saúde, seguros, telecomunicações, manufatura, finanças, petróleo e gás, entre outros.
- Como prática recomendada, organize seus projetos em três partes: ingestão, teste e monitoramento