Apache NiFi Tutorial: Vad är NiFi? Architecture & installation

Sammanfattning av Apache NiFi Tutorial

Denna apache NiFi-handledning täcker alla grundläggande till avancerade ämnen från grunden. Du kommer att lära dig begreppen som NiFi-definition, historia, arkitektur, funktioner, installationsprocess, användningsfall. Du kommer också att lära dig varför du behöver använda apache NiFi och de bästa metoderna för att köra apache NiFi.

Vad är Apache NiFi?

Apache NiFi är en programvara med öppen källkod för att automatisera och hantera dataflödet mellan system. Det är ett kraftfullt och pålitligt system för att bearbeta och distribuera data. Det tillhandahåller ett webbaserat användargränssnitt för att skapa, övervaka och kontrollera dataflöden. Den har en mycket konfigurerbar och modifierbar dataflödesprocess för att modifiera data vid körning.

Apache NiFi är lätt att bygga ut genom utveckling av anpassade komponenter.

Varför använda Apache NIfi?

Här är skälen till att använda Apache Nifi:

  • Låter dig göra dataintag för att hämta data till NiFi, från många datakällor och skapa flödesfiler
  • Den erbjuder kontroll i realtid som hjälper dig att hantera rörelsen av data mellan valfri källa och destination
  • Visualisera DataFlow på företagsnivå
  • Tillhandahåll gemensamma verktyg och förlängningar
  • Låter dig dra nytta av befintliga bibliotek och Java ekosystemfunktionalitet
  • Hjälper organisationer att integrera Nifi med sin befintliga infrastruktur
  • NiFi är designat för att skala ut i kluster som erbjuder garanterad leverans av data
  • Visualisera och övervaka prestanda, beteende i en flödesbulletin som erbjuder insikt och inline-dokumentation
  • Hjälper dig att starta och stoppa komponenter separat eller på gruppnivå
  • Det hjälper dig att lyssna, hämta, dela, aggregera, dirigera, transformera och dra och släppa Dataflow

Historia om Apache NiFi

  • Utvecklad på NSA i över åtta år
  • 2014- Den donerades till Apache-mjukvaran Foundation
  • 2015- NiFi blev en officiell del av Apache Project Suite
  • Sedan dess var 6-8 vecka släpper Apache NiFi en ny uppdatering

såvida inte Architecture

Apache NiFi har en genomtänkt arkitektur. När data väl har hämtats från externa källor representeras den som FlowFile i Apache NiFi-arkitekturen.

såvida inte Architecture
såvida inte Architecture

Här är nyckelkomponenterna i NiFi-arkitekturen

Nifi-komponent Description
Flödesfil FlowFile är originaldata med metainformation bifogad. Det låter dig bearbeta inte bara CSV eller annan postbaserad data, utan även bilder, videor, ljud eller andra binära data.
Flowfile-processor Utför arbetet som fungerar som en byggsten för dataflödet i NiFi.
Flödesregulator Håller ett register över hur processer hänger ihop. Den hanterar trådarna och allokeringarna därav som alla processer använder.
web server Webbservern är värd för NiFis HTTP-baserade kommandon och API.
Förlängning Det finns många typer av NiFi-tillägg som fungerar och körs inom JVM.
förbindelse Fungerar som en länk mellan processorer som innehåller en kö och relation(er) som påverkar vart data dirigeras.
Mottryck Stoppa systemet från att bli överkört genom att kontrollera kvantiteten eller datastorleken på flödesfiler som kan lagras i kön.
Processgrupp En processgrupp är en uppsättning processer och deras anslutningar, som tar emot och skickar data med hjälp av portar.
Flowfile Repository I FlowFile Repository håller NiFi reda på tillståndet för vilka detaljer den har om en given FlowFile som är aktiv i flödet.
Innehållsförråd Innehållsförrådet är ett område där de faktiska innehållsbytena för en given FlowFile finns.
Proveniensförvaret Proveniensförrådet är ett område där all härkomsthändelsedata samlas in.

Apache NiFi-funktioner

  • NiFi stöder buffring av all köad data och erbjuder en förmåga till mottryck eftersom dessa köer kan nå specificerade gränser
  • NiFi tillåter inställning av ett eller flera prioriteringsscheman
  • Tillhandahåller anslutningsprocessorer för många datakällor
  • Stöd alla enheter som körs Java
  • Perfekt för platser med begränsad anslutning
  • Stöd för felsökning och flödesoptimering
  • Erbjuder rollbaserad autentisering/auktorisering
  • Tillåter nedladdning, återställning och uppspelning av enskilda filer
  • Bygg dina processorer, kontrollertjänster och mer
  • Tillhandahåll kryptering av innehåll, kommunikation över säkra protokoll
  • Möjliggör snabb utveckling och effektiv testning
  • Möjliggör utveckling av enkla enfunktionskomponenter som kan återanvändas och kombineras för att göra mer komplexa flöden
  • Tillåter klassladdningsisolering för enklare hantering av beroenden

Hur man installerar Apache NiFi

Nedan är en steg-för-steg-process för Apache NiFi-installation

Steg 1) Gå till länken,

och klicka på "Fortsätt att prenumerera"

Installera Apache NiFi

Steg 2) På nästa sida,

Klicka på "Acceptera villkor"

Installera Apache NiFi

Steg 3) Du kommer att se denna sida,

Tack för att du prenumererar på den här produkten! Vi behandlar din förfrågan.

Installera Apache NiFi

Steg 4) Uppdatera sidan efter 5 minuter.

Klicka på "Fortsätt till konfiguration"

Installera Apache NiFi

Steg 5) På nästa sida,

Behåll standardinställningarna och klicka på "Fortsätt till start"

Installera Apache NiFi

Steg 6) På nästa sida,

Klicka på Starta. Du kan behöva skapa en nyckel

Installera Apache NiFi

Steg 7) Du kommer att se detta framgångsmeddelande.

Grattis! En instans av denna programvara har distribuerats framgångsrikt på EC2!

Installera Apache NiFi

Steg 8) Notera,

Förekomstens ID och den offentliga DNS för EC2-instansen

Installera Apache NiFi

Steg 9) I säkerhetsgruppen,

Lägg till regel för all trafik till inkommande och utgående

Installera Apache NiFi

Steg 10) För att komma åt Nifi,

använd bara URL:en

http://publicdns:8080/nifi

I vårt fall blir det

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

Användare:administration

Lösenord: Förekomst-ID

Installera Apache NiFi

Steg 11) Du får se,

NiFi hemskärm

Installera Apache NiFi

Användningsfall för Nifi

Nedan är en lista över Apache NiFi-användningsfall:

Industry Användning
Försäkring
  • Risk- och försäkringsanalys
  • Anspråksanalys
  • Användningsbaserad försäkring
  • Ny produktutveckling
Healthcare
  • Enskild vy av patienten
  • Övervakning av vitala tecken i realtid
  • EMR-optimering
  • Supply Chain Optimering
Telekommunikation
  • Enstaka syn på kunden
  • CDR-analys
  • Dynamisk bandbreddsallokering
Tillverkning
  • Förebyggande underhåll
  • Supply Chain Optimering
  • Kvalitetskontroll
Olja & Gas- Industri
  • Realtidsövervakning
  • Enkel vy av Operation
  • Förutsägbart underhåll
  • Archive & Analytics
  • Ostrukturerad dataklassificering
Financial Services
  • Anti-penningtvätt
  • Spårning av bedrägerier
  • Risk- datahantering

Bästa metoder Att köra Apache NiFi

  • Idealisk för att separera test/dev/produktionsmiljöer i NiFi
  • Du bör dela upp ditt flöde i processgrupper
  • Använd en namnkonvention, använd kommentarer och etiketter
  • Organisera dina projekt i tre delar intag, test och övervakning
  • Använd unika namn för variabel

Nackdelen med Nifi

  • Behöver exakta säkerhets- och efterlevnadskontroller
  • Du måste känna till det underliggande systemet mycket väl när du arbetar med Apache NiFi
  • Måste upprätthålla spårbarhetskedjan för data
  • Transport/meddelanden kanske inte räcker
  • Dataåtkomstbehoven överstiger tillgängliga resurser att transportera
  • Alla data skapas inte lika
  • SSL och auktorisering på ämnesnivå kanske inte räcker

Sammanfattning

  • Apache NiFi är en programvara med öppen källkod för att automatisera och hantera dataflödet mellan system
  • NiFi är designat för att skala ut i kluster som erbjuder garanterad leverans av data
  • Nifi utvecklades på NSA i över åtta år
  • När data väl har hämtats från externa källor representeras den som FlowFile i Apache NiFi-arkitekturen.
  • FlowFile, processor, kontroller, webbserver, anslutning, mottryck, repository är viktiga komponenter i NiFi-arkitekturen
  • NiFi uttrycksspråk stöder alla enheter som körs Java
  • Du kan enkelt installera NiFi på AWS
  • NiFi används i olika branscher som sjukvård, försäkring, telekom, tillverkning, finans, olja och gas bland annat
  • Som en bästa praxis, organisera dina projekt i tre delar intag, test och övervakning