Apache NiFi Tutorial: Hvad er NiFi? Archikonstruktion og installation

Apache NiFi Tutorial Resumé

Denne apache NiFi-tutorial dækker alle de grundlæggende til avancerede emner fra bunden. Du vil lære begreber som NiFi-definition, historie, arkitektur, funktioner, installationsproces, use cases. Du vil også lære, hvorfor du skal bruge apache NiFi og de bedste fremgangsmåder for at køre apache NiFi.

Hvad er Apache NiFi?

Apache NiFi er en open source software til automatisering og styring af dataflowet mellem systemer. Det er et kraftfuldt og pålideligt system til at behandle og distribuere data. Det giver webbaseret brugergrænseflade til at oprette, overvåge og kontrollere datastrømme. Det har en meget konfigurerbar og modificerbar dataflowproces til at ændre data under kørsel.

Apache NiFi kan nemt udvides gennem udvikling af brugerdefinerede komponenter.

Hvorfor bruge Apache NIfi?

Her er grunde til at bruge Apache Nifi:

  • Giver dig mulighed for at foretage dataindtagelse for at trække data ind i NiFi fra adskillige datakilder og oprette flowfiler
  • Det tilbyder kontrol i realtid, som hjælper dig med at styre bevægelsen af ​​data mellem enhver kilde og destination
  • Visualiser DataFlow på virksomhedsniveau
  • Sørg for fælles værktøj og udvidelser
  • Giver dig mulighed for at drage fordel af eksisterende biblioteker og Java økosystems funktionalitet
  • Hjælper organisationer med at integrere Nifi med deres eksisterende infrastruktur
  • NiFi er designet til at skalere ud i klynger, som tilbyder garanteret levering af data
  • Visualiser og overvåg ydeevne, adfærd i en flowbulletin, der tilbyder indsigt og inline-dokumentation
  • Hjælper dig med at starte og stoppe komponenter separat eller på gruppeniveau
  • Det hjælper dig med at lytte, hente, opdele, samle, rute, transformere og trække og slippe Dataflow

Historien om Apache NiFi

  • Udviklet hos NSA i over otte år
  • 2014- Det blev doneret til Apache-softwaren Foundation
  • 2015- NiFi blev en officiel del af Apache Project Suite
  • Siden da hver 6.-8. uge udgiver Apache NiFi en ny opdatering

NiFi Architecture

Apache NiFi har en gennemtænkt arkitektur. Når data er hentet fra eksterne kilder, er det repræsenteret som FlowFile inde i Apache NiFi-arkitekturen.

NiFi Architecture
NiFi Architecture

Her er nøglekomponenterne i NiFi-arkitekturen

Nifi komponent Description
FlowFile FlowFile er originale data med metainformation knyttet til det. Det giver dig mulighed for at behandle ikke kun CSV eller andre optagelsesbaserede data, men også billeder, videoer, lyd eller andre binære data.
Flowfil processor Udfører arbejdet, der fungerer som en byggesten af ​​dataflow i NiFi.
Flow controller Registrerer, hvordan processer er forbundet. Den administrerer trådene og allokeringerne deraf, som alle processer bruger.
web-server Webserveren er vært for NiFis HTTP-baserede kommandoer og API.
Extension Der er mange typer af NiFi-udvidelser, som fungerer og udføres i JVM.
Forbindelse Fungerer som en forbindelse mellem processorer, der indeholder en kø og relation(er), som påvirker, hvor data rutes.
Rygpres Stop systemet med at blive overrendt ved at kontrollere mængden eller datastørrelsen af ​​flowfiler, der kan gemmes i køen.
Procesgruppe En procesgruppe er et sæt af processer og deres forbindelser, som modtager og sender data ved hjælp af porte.
Flowfile Repository I FlowFile Repository holder NiFi styr på tilstanden af, hvilke detaljer den har om en given FlowFile, som er aktiv i flowet.
Indholdsarkiv Indholdslagret er et område, hvor de faktiske indholdsbytes for en given FlowFile findes.
Herkomstdepot Herkomstdepotet er et område, hvor alle herkomsthændelsesdata er indsamlet.

Apache NiFi-funktioner

  • NiFi understøtter buffering af alle data i kø og giver mulighed for modtryk, da disse køer kan nå specificerede grænser
  • NiFi tillader indstilling af en eller flere prioriteringsordninger
  • Giver forbindelsesprocessorer til mange datakilder
  • Understøtte enhver enhed, der kører Java
  • Ideel til steder med begrænset tilslutning
  • Support til fejlfinding og flowoptimering
  • Tilbyder rollebaseret godkendelse/autorisation
  • Tillader download, gendannelse og genafspilning af individuelle filer
  • Byg dine processorer, controllertjenester og mere
  • Giv indholdskryptering, kommunikation over sikre protokoller
  • Muliggør hurtig udvikling og effektiv test
  • Giver mulighed for udvikling af simple enkeltfunktionskomponenter, der kan genbruges og kombineres for at lave mere komplekse flows
  • Tillader isolering af klasseindlæser for lettere styring af afhængigheder

Sådan installeres Apache NiFi

Nedenfor er en trinvis proces til Apache NiFi-installation

Trin 1) Gå til forbindelsen,

og klik på "Fortsæt med at abonnere"

Installer Apache NiFi

Trin 2) På næste side,

Klik på "Accepter vilkår"

Installer Apache NiFi

Trin 3) Du vil se denne side,

Tak, fordi du abonnerer på dette produkt! Vi behandler din anmodning.

Installer Apache NiFi

Trin 4) Opdater siden efter 5 minutter.

Klik på "Fortsæt til konfiguration"

Installer Apache NiFi

Trin 5) På næste side,

Behold standardindstillingerne, og klik på "Fortsæt til start"

Installer Apache NiFi

Trin 6) På næste side,

Klik på Start. Du skal muligvis oprette en nøgle

Installer Apache NiFi

Trin 7) Du vil se denne succesmeddelelse.

Tillykke! En forekomst af denne software er implementeret med succes på EC2!

Installer Apache NiFi

Trin 8) Bemærk,

Forekomst-id'et og den offentlige DNS for EC2-forekomsten

Installer Apache NiFi

Trin 9) I sikkerhedsgruppen,

Føj al trafikregel til indgående og udgående

Installer Apache NiFi

Trin 10) For at få adgang til Nifi,

brug blot URL'en

http://publicdns:8080/nifi

I vores tilfælde bliver det

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

Bruger:admin

Adgangskode: Forekomst-id

Installer Apache NiFi

Trin 11) Du vil se,

NiFi-hjemmeskærm

Installer Apache NiFi

Nifi Use Cases

Nedenfor er en liste over Apache NiFi-brugstilfælde:

Industri Brug
Forsikring
  • Risiko- og forsikringsanalyse
  • Skadeanalyse
  • Brugsbaseret forsikring
  • Udvikling af nyt produkt
HealthCare
  • Enkeltbillede af patienten
  • Overvågning af vitale tegn i realtid
  • EMR optimering
  • Supply Chain Optimering
Telekommunikation
  • Enkelt billede af kunden
  • CDR-analyse
  • Dynamisk båndbreddetildeling
Produktion
  • Forebyggende vedligeholdelse
  • Supply Chain Optimering
  • Kvalitetskontrol
Olie & Gas- Industri
  • overvågning i realtid
  • Enkeltvisning af Operation
  • Predictive Maintenance
  • Archive & Analytics
  • Ustruktureret dataklassificering
Financial Services
  • Anti-hvidvaskning af penge
  • Svig- Opdagelse
  • Risiko- datastyring

Bedste øver sig i at køre Apache NiFi

  • Ideel til at adskille test/dev/produktionsmiljøer i NiFi
  • Du bør opdele dit flow i procesgrupper
  • Brug en navnekonvention, brug kommentarer og etiketter
  • Organiser dine projekter i tre dele indtagelse, test og overvågning
  • Brug unikke navne til variable

Ulempen ved Nifi

  • Har brug for præcise sikkerheds- og overholdelseskontroller
  • Du skal kende det underliggende system meget godt, mens du arbejder med Apache NiFi
  • Skal opretholde chain of custody for data
  • Transport/beskeder er muligvis ikke nok
  • Behovet for dataadgang overstiger de tilgængelige ressourcer til transport
  • Ikke alle data er skabt lige
  • SSL- og emneniveau-autorisation er muligvis ikke tilstrækkelig

Resumé

  • Apache NiFi er en open source-software til automatisering og styring af datastrømmen mellem systemer
  • NiFi er designet til at skalere ud i klynger, som tilbyder garanteret levering af data
  • Nifi blev udviklet hos NSA i over otte år
  • Når data er hentet fra eksterne kilder, er det repræsenteret som FlowFile inde i Apache NiFi-arkitekturen.
  • FlowFile, processor, controller, webserver, forbindelse, modtryk, repository er vigtige komponenter i NiFi-arkitekturen
  • NiFi-udtrykssprog understøtter enhver enhed, der kører Java
  • Du kan nemt installere NiFi på AWS
  • NiFi bruges i forskellige industrier såsom sundhedspleje, forsikring, telekom, fremstilling, finans, olie og gas blandt andre
  • Som en bedste praksis skal du organisere dine projekter i tre dele indtagelse, test og overvågning