Hjem Personlig finansiering Loggdata med flume i HDFS - dummies

Loggdata med flume i HDFS - dummies

Video: HBW154 - Brewfather Walkthrough 2025

Video: HBW154 - Brewfather Walkthrough 2025
Anonim

Noen av dataene som kommer opp i Hadoop Distributed File System (HDFS), kan lande det via databaselastoperasjoner eller andre typer batchprosesser, men hva hvis du vil fange opp dataene som strømmer i datastrømmer med høy ytelse, for eksempel programloggdata? Apache Flume er gjeldende standard måte å gjøre det enkelt, effektivt og trygt.

Apache Flume , et annet toppnivåprosjekt fra Apache Software Foundation, er et distribuert system for å aggregere og flytte store mengder strømdata fra forskjellige kilder til en sentralisert datalager.

En annen måte, Flume er designet for kontinuerlig inntak av data i HDFS. Dataene kan være noen form for data, men Flume er spesielt godt egnet til å håndtere loggdata, for eksempel loggdata fra webservere. Enheter av dataene som Flume prosesser kalles hendelser ; Et eksempel på en hendelse er en loggoppføring.

For å forstå hvordan Flume fungerer innenfor en Hadoop-klynge, må du vite at Flume kjører som en eller flere agenter, og at hver agent har tre pluggbare komponenter: kilder, kanaler og vasker:

  • Kilder hente data og send den til kanaler.

  • Kanaler holder datakøer og fungerer som ledninger mellom kilder og vasker, noe som er nyttig når innkommende strømningshastighet overstiger utgående strømningshastighet.

  • Vask behandle data som ble tatt fra kanaler og levere det til en destinasjon, for eksempel HDFS.

En agent må ha minst én av hver komponent å kjøre, og hver agent er inneholdt i sin egen forekomst av Java Virtual Machine (JVM).

En hendelse som er skrevet til en kanal av en kilde, fjernes ikke fra denne kanalen før en vaske fjerner den ved en transaksjon. Hvis det oppstår en nettverksfeil, holder kanalene sine hendelser i kø til synker kan skrive dem til klyngen. En minnekanal kan behandle hendelser raskt, men den er flyktig og kan ikke gjenopprettes, mens en filbasert kanal gir utholdenhet og kan gjenopprettes ved feil.

Hver agent kan ha flere kilder, kanaler og vasker, og selv om en kilde kan skrive til mange kanaler, kan en vask ta data fra bare en kanal.

En agent er bare en JVM som kjører Flume, og dunkene for hver agentknutepunkt i Hadoop-klyngen sender data til samlernoder , som samlet dataene fra mange agenter før skriver den til HDFS, der den kan analyseres av andre Hadoop-verktøy.

Agenter kan kobles sammen slik at vasken fra en agent sender data til kilden fra en annen agent.Avro, Apaches eksterne call-and-serialization rammeverk, er den vanlige måten å sende data over et nettverk med Flume, fordi det tjener som et nyttig verktøy for effektiv serialisering eller transformasjon av data til et kompakt binært format.

I sammenheng med Flume er kompatibilitet viktig: En Avro-begivenhet krever for eksempel en Avro-kilde, og en vask må levere hendelser som passer til destinasjonen.

Hva gjør denne flotte kjeden av kilder, kanaler og vasker arbeid er Flume-agentkonfigurasjonen, som er lagret i en lokal tekstfil som er strukturert som en Java-egenskapsfil. Du kan konfigurere flere agenter i samme fil. Se på en prøvefil, som heter flume-agent. conf - det er satt til å konfigurere en agent som heter shaman:

# Identifiser komponentene på agent shaman: shaman. kilder = netcat_s1 shaman. vasker = hdfs_w1 shaman. kanaler = in-mem_c1 # Konfigurer kilden: sjaman. kilder. netcat_s1. type = netcat shaman. kilder. netcat_s1. bind = localhost shaman. kilder. netcat_s1. port = 44444 # Beskriv vasken: sjaman. synker. hdfs_w1. type = hdfs shaman. synker. hdfs_w1. hdfs. sti = hdfs: // shaman. synker. hdfs_w1. hdfs. writeFormat = Tekst shaman. synker. hdfs_w1. hdfs. fileType = DataStream # Konfigurer en kanal som buffer hendelser i minnet: shaman. kanaler. i-mem_c1. type = minne shaman. kanaler. i-mem_c1. kapasitet = 20000 shaman. kanaler. i-mem_c1. transactionCapacity = 100 # Bind kilden og synke til kanalen: shaman. kilder. netcat_s1. kanaler = in-mem_c1 shaman. synker. hdfs_w1. kanaler = in-mem_c1

Konfigurasjonsfilen inneholder egenskaper for hver kilde, kanal og synke i agenten og angir hvordan de er koblet til. I dette eksemplet har agent shaman en kilde som lytter etter data (meldinger til netcat) på port 44444, en kanal som buffer hendelsesdata i minnet, og en vask som logger hendelsesdata til konsollen.

Denne konfigurasjonsfilen kunne ha blitt brukt til å definere flere agenter; Her konfigurerer du bare en for å holde ting enkelt.

For å starte agenten, bruk et skalskript som heter flume-ng, som ligger i bin-katalogen i Flume-distribusjonen. Fra kommandolinjen, utsted agentkommandoen, angi banen til konfigurasjonsfilen og agentnavnet.

Følgende utvalgskommando starter Flume-agenten:

flume-ng-agent -f / -n sjaman

Flume-agentens logg skal ha oppføringer som bekrefter at kilden, kanalen og sinken startet vellykket.

For å teste konfigurasjonen kan du telnet til port 44444 fra en annen terminal og sende Flume en begivenhet ved å skrive inn en vilkårlig tekststreng. Hvis alt går bra, sender den opprinnelige Flume-terminalen hendelsen i en loggmelding som du skal kunne se i agentens logg.

Loggdata med flume i HDFS - dummies

Redaktørens valg

Hvordan beskrives et datasett statistisk for GEDs vitenskapstest - dummies

Hvordan beskrives et datasett statistisk for GEDs vitenskapstest - dummies

GED Science test vil stille spørsmål relatert til beskrivende statistikk. Du kan ofte oppsummere en samling av data (fra et eksperiment, observasjoner eller undersøkelser, for eksempel) ved å bruke beskrivende statistikk, tall som brukes til å oppsummere og analysere dataene og trekke konklusjoner fra det. Beskrivende statistikk for en samling av data inkluderer følgende: Frekvens: ...

Hvordan forutsi en utgang basert på data eller bevis på GED-vitenskapstesten

Hvordan forutsi en utgang basert på data eller bevis på GED-vitenskapstesten

Bruk av bevis for å forutsi utfall er en nødvendig ferdighet for GED Science-testen. De største fordelene med vitenskapelige studier kan ofte tilskrives det faktum at deres konklusjoner gjør det mulig for folk å forutsi utfall. (Du vil sikkert ønske vitenskap kan hjelpe deg med å forutsi utfallet ditt på prøve!) Du er vitne til vitenskap i handling hver dag ...

Hvordan man måler en forfatters troverdighet for GEDs samfunnsstudietest - dummies

Hvordan man måler en forfatters troverdighet for GEDs samfunnsstudietest - dummies

GED Social Studies test vil stille spørsmål som krever at du bestemmer troverdigheten til en forfatter. Det er ikke alltid lett å vurdere om en forfatter er troverdig basert på informasjonen som er gitt i en skriftlig oversikt og referansen, men du kan hente spor ved å nøye undersøke følgende områder: Forfatterens ...

Redaktørens valg

Hva skjer i QuickBooks 2013 Setup? - dummies

Hva skjer i QuickBooks 2013 Setup? - dummies

Etter at du har installert QuickBooks 2013, kjører du en skjermveiviser for å sette opp QuickBooks for firmaets regnskap. Klart, denne skjermveiviseren kalles QuickBooks Setup. Når du kjører QuickBooks Setup, gir du ganske mye informasjon til QuickBooks. Som en praktisk sak krever oppsettet og oppsettet etter oppsettet at du har ...

Leverandørmenykommandoer i QuickBooks 2013 - dummies

Leverandørmenykommandoer i QuickBooks 2013 - dummies

Når du jobber med betalbar betaling i QuickBooks 2013, har du ofte vil bruke flere av kommandoene på leverandørmenyen. Noen av kommandoene er imidlertid ikke så populære, men du må fortsatt være klar over deres formål. Leverandørssenter i QuickBooks 2013 Vendor Center-vinduet viser en liste over leverandører og detaljerte ...

Kommandoer for leverandørmeny i QuickBooks 2014 - dummies

Kommandoer for leverandørmeny i QuickBooks 2014 - dummies

Når du jobber med betalbar betaling i QuickBooks 2014, har du ofte vil bruke flere av kommandoene på leverandørmenyen. Noen av kommandoene er imidlertid ikke så populære, men du må fortsatt være klar over deres formål. Leverandørssenter Vendor Center-vinduet viser en liste over leverandører og detaljert leverandørinformasjon for ...