Tutorial Apache NiFi: cos'è NiFi? Archiarchitettura e installazione

Riepilogo del tutorial Apache NiFi

Questo tutorial di Apache NiFi copre tutti gli argomenti di base e avanzati da zero. Imparerai concetti come definizione di NiFi, cronologia, architettura, funzionalità, processo di installazione, casi d'uso. Imparerai anche perché hai bisogno di usare Apache NiFi e le best practice per eseguire Apache NiFi.

Cos'è Apache NiFi?

ApacheNiFi è un software open source per automatizzare e gestire il flusso di dati tra i sistemi. È un sistema potente e affidabile per elaborare e distribuire i dati. Fornisce un'interfaccia utente basata sul Web per creare, monitorare e controllare i flussi di dati. Ha un processo di flusso di dati altamente configurabile e modificabile per modificare i dati in fase di esecuzione.

Apache NiFi è facilmente estensibile attraverso lo sviluppo di componenti personalizzati.

Perché utilizzare Apache NIfi?

Ecco i motivi per utilizzare Apache Nifi:

  • Consente di eseguire l'inserimento di dati per inserirli in NiFi, da numerose origini dati e creare file di flusso
  • Offre un controllo in tempo reale che ti aiuta a gestire il movimento dei dati tra qualsiasi origine e destinazione
  • Visualizza DataFlow a livello aziendale
  • Fornire strumenti ed estensioni comuni
  • Consente di sfruttare le librerie esistenti e Java funzionalità dell'ecosistema
  • Aiuta le organizzazioni a integrare Nifi con la loro infrastruttura esistente
  • NiFi è progettato per espandersi in cluster che offrono la consegna garantita dei dati
  • Visualizza e monitora le prestazioni e il comportamento in un bollettino di flusso che offre approfondimenti e documentazione in linea
  • Aiuta ad avviare e arrestare i componenti separatamente o a livello di gruppo
  • Ti aiuta ad ascoltare, recuperare, dividere, aggregare, instradare, trasformare e trascinare e rilasciare Dataflow

Storia di Apache NiFi

  • Sviluppato presso la NSA per oltre otto anni
  • 2014- È stato donato al software Apache Foundation
  • 2015- NiFi diventa parte ufficiale di Apache Project Suite
  • Da allora ogni 6-8 settimane, Apache NiFi rilascia un nuovo aggiornamento

salvo che Architectura

Apache NiFi ha un'architettura ben congegnata. Una volta che i dati vengono recuperati da fonti esterne, vengono rappresentati come FlowFile all'interno dell'architettura Apache NiFi.

salvo che Architectura
salvo che Architectura

Ecco i componenti chiave dell'architettura NiFi

Componente Nifi Descrizione
FlowFile FlowFile è costituito da dati originali con metainformazioni allegate. Ti consente di elaborare non solo CSV o altri dati basati su record, ma anche immagini, video, audio o qualsiasi altro dato binario.
Processore di file di flusso Esegue il lavoro che funge da elemento costitutivo del flusso di dati in NiFi.
Regolatore di flusso Tiene traccia di come i processi sono collegati. Gestisce i thread e le relative allocazioni utilizzate da tutti i processi.
web Server Il server Web ospita i comandi e l'API basati su HTTP di NiFi.
Estensione Esistono molti tipi di estensioni NiFi che funzionano ed eseguono all'interno della JVM.
Connessione Funziona come un collegamento tra processori che contengono una coda e relazioni che influiscono sulla posizione in cui vengono instradati i dati.
Contropressione Arrestare il sovraccarico del sistema controllando la quantità o la dimensione dei dati dei file di flusso che possono essere archiviati nella coda.
Gruppo di processi Un gruppo di processi è un insieme di processi e le relative connessioni, che riceve e invia dati con l'aiuto delle porte.
Repository dei file di flusso Nel FlowFile Repository, NiFi tiene traccia dello stato dei dettagli in suo possesso su un dato FlowFile attivo nel flusso.
Repository di contenuti Il Content Repository è un'area in cui esistono i byte di contenuto effettivi di un dato FlowFile.
Archivio delle provenienze Il Provenance Repository è un'area in cui vengono raccolti tutti i dati sugli eventi di provenienza.

Funzionalità Apache NiFi

  • NiFi supporta il buffering di tutti i dati in coda e offre la possibilità di contropressione quando tali code possono raggiungere limiti specificati
  • NiFi consente l'impostazione di uno o più schemi di priorità
  • Fornisce processori di connessione per molte origini dati
  • Supporta qualsiasi dispositivo funzionante Java
  • Ideale per luoghi con connettività limitata
  • Supporto per la risoluzione dei problemi e l'ottimizzazione del flusso
  • Offre autenticazione/autorizzazione basata sui ruoli
  • Consente il download, il ripristino e la riproduzione di singoli file
  • Costruisci i tuoi processori, servizi controller e altro ancora
  • Fornire crittografia dei contenuti e comunicazione su protocolli sicuri
  • Consente uno sviluppo rapido e test efficaci
  • Consente lo sviluppo di semplici componenti monofunzionali che possono essere riutilizzati e combinati per creare flussi più complessi
  • Consente l'isolamento del classloader per una gestione più semplice delle dipendenze

Come installare Apache NiFi

Di seguito è riportato un processo passo passo per l'installazione di Apache NiFi

Passo 1) Vai su il link,

e fai clic su "Continua ad iscriverti"

Installa Apache NiFi

Passo 2) Nella pagina successiva,

Fai clic su "Accetta termini"

Installa Apache NiFi

Passo 3) Vedrai questa pagina,

Grazie per esserti iscritto a questo prodotto! Stiamo elaborando la tua richiesta.

Installa Apache NiFi

Passo 4) Aggiorna la pagina dopo 5 minuti.

Clicca su “Continua alla configurazione”

Installa Apache NiFi

Passo 5) Nella pagina successiva,

Mantieni le impostazioni predefinite e fai clic su "Continua all'avvio"

Installa Apache NiFi

Passo 6) Nella pagina successiva,

Fare clic su Avvia. Potrebbe essere necessario creare una chiave

Installa Apache NiFi

Passo 7) Vedrai questo messaggio di successo.

Congratulazioni! Un'istanza di questo software è stata distribuita con successo su EC2!

Installa Apache NiFi

Passo 8) Nota,

L'ID dell'istanza e il DNS pubblico dell'istanza EC2

Installa Apache NiFi

Passo 9) Nel gruppo di sicurezza,

Aggiungi tutte le regole del traffico in entrata e in uscita

Installa Apache NiFi

Passo 10) Per accedere a Nifi,

utilizza semplicemente l'URL

http://publicdns:8080/nifi

Nel nostro caso diventa

http://ec2-100-26-156-57.compute-1.amazonaws.com:8080/nifi/

Utente: amministratore

Password: ID istanza

Installa Apache NiFi

Passo 11) Vedrai,

Schermata iniziale NiFi

Installa Apache NiFi

Casi d'uso Nifi

Di seguito è riportato un elenco dei casi d'uso di Apache NiFi:

Industria Impiego
Assicurazione
  • Analisi del rischio e della sottoscrizione
  • Analisi delle rivendicazioni
  • Assicurazione basata sull'utilizzo
  • Sviluppo di un nuovo prodotto
HealthCare
  • Visualizzazione singola del paziente
  • Monitoraggio dei segni vitali in tempo reale
  • Ottimizzazione dell'EMR
  • Ottimizzazione della catena di fornitura
Telecomunicazione
  • Visione unica del cliente
  • Analisi CDR
  • Allocazione dinamica della larghezza di banda
Produzione
  • Manutenzione Preventiva
  • Ottimizzazione della catena di fornitura
  • Controllo di qualità
Industria petrolifera e del gas
  • Monitoraggio in tempo reale
  • Vista unica del Operaproduzione
  • Manutenzione Predittiva
  • Archive e Analisi
  • Classificazione dei dati non strutturati
Servizi finanziari
  • Antiriciclaggio
  • Intercettazione di una frode
  • Gestione dei dati di rischio

migliori pratiche Esecuzione di Apache NiFi

  • Ideale per separare ambienti di test/sviluppo/produzione in NiFi
  • Dovresti suddividere il flusso in gruppi di processi
  • Usa una convenzione di denominazione, usa commenti ed etichette
  • Organizza i tuoi progetti in tre parti: acquisizione, test e monitoraggio
  • Utilizza nomi univoci per la variabile

Svantaggio di Nifi

  • Hai bisogno di controlli precisi di sicurezza e conformità
  • È necessario conoscere molto bene il sistema sottostante mentre si lavora con Apache NiFi
  • Deve mantenere la catena di custodia dei dati
  • Trasporto/Messaggistica potrebbe non rivelarsi sufficiente
  • Le esigenze di accesso ai dati superano le risorse disponibili per il trasporto
  • Non tutti i dati vengono creati allo stesso modo
  • L'autorizzazione SSL e a livello di argomento potrebbe non essere sufficiente

Sommario

  • Apache NiFi è un software open source per automatizzare e gestire il flusso di dati tra i sistemi
  • NiFi è progettato per espandersi in cluster che offrono la consegna garantita dei dati
  • Nifi è stato sviluppato presso la NSA per oltre otto anni
  • Una volta che i dati vengono recuperati da fonti esterne, vengono rappresentati come FlowFile all'interno dell'architettura Apache NiFi.
  • FlowFile, processore, controller, server web, connessione, contropressione, repository sono componenti importanti dell'architettura NiFi
  • Il linguaggio di espressione NiFi supporta qualsiasi dispositivo in esecuzione Java
  • Puoi installare facilmente NiFi su AWS
  • NiFi è utilizzato in vari settori come quello sanitario, assicurativo, delle telecomunicazioni, manifatturiero, finanziario, petrolifero e del gas, tra gli altri
  • Come best practice, organizza i tuoi progetti in tre parti: acquisizione, test e monitoraggio