Huis Persoonlijke financiën Loggegevens met flume in HDFS - dummies

Loggegevens met flume in HDFS - dummies

Video: Hadoop Processing Frameworks 2024

Video: Hadoop Processing Frameworks 2024
Anonim

Sommige gegevens die in het Hadoop Distributed File System (HDFS) terechtkomen, kunnen daar terechtkomen via laadbewerkingen van databases of andere soorten batchprocessen, maar wat als u de gegevens wilt vastleggen die in high-throughput-datastreams worden gegenereerd, zoals toepassingsloggegevens? Apache Flume is de huidige standaardmanier om dat eenvoudig, efficiënt en veilig te doen.

Apache Flume , een ander topproject van de Apache Software Foundation, is een gedistribueerd systeem voor het verzamelen en verplaatsen van grote hoeveelheden streaminggegevens van verschillende bronnen naar een gecentraliseerde gegevensopslag.

Anders gezegd, Flume is ontworpen voor de continue opname van gegevens in HDFS. De gegevens kunnen elk soort gegevens zijn, maar Flume is met name geschikt voor het verwerken van loggegevens, zoals de loggegevens van webservers. Eenheden van de gegevens die door Flume worden verwerkt, worden gebeurtenissen genoemd; een voorbeeld van een gebeurtenis is een logboekrecord.

Om te begrijpen hoe Flume werkt in een Hadoop-cluster, moet u weten dat Flume wordt uitgevoerd als een of meer agents en dat elke agent drie pluggable componenten heeft: bronnen, kanalen en putten:

  • Bronnen haal gegevens op en verzend deze naar kanalen.

  • Kanalen bevatten gegevenswachtrijen en dienen als leidingen tussen bronnen en putten, wat handig is wanneer de binnenkomende stroomsnelheid de uitgaande stroomsnelheid overschrijdt.

  • Sinks verwerken gegevens die zijn ontvangen van kanalen en leveren deze af naar een bestemming, zoals HDFS.

Een agent moet ten minste één van elke component laten uitvoeren en elke agent bevindt zich in zijn eigen exemplaar van de Java Virtual Machine (JVM).

Een gebeurtenis die door een bron naar een kanaal is geschreven, wordt niet van dat kanaal verwijderd totdat een gootsteen deze via een transactie verwijdert. Als er zich een netwerkfout voordoet, houden kanalen hun gebeurtenissen in de wacht totdat ze door de gootsteen naar het cluster kunnen worden geschreven. Een in-geheugen kanaal kan gebeurtenissen snel verwerken, maar het is vluchtig en kan niet worden hersteld, terwijl een op bestanden gebaseerd kanaal persistentie biedt en kan worden hersteld in het geval van een storing.

Elke agent kan verschillende bronnen, kanalen en putten hebben en hoewel een bron naar veel kanalen kan schrijven, kan een sink gegevens van slechts één kanaal halen.

Een agent is slechts een JVM waarop Flume wordt uitgevoerd en de sinks voor elk agentknooppunt in de Hadoop-cluster verzenden gegevens naar verzamelingsknooppunten , die de gegevens van veel agents verzamelen vóór schrijven naar HDFS, waar het kan worden geanalyseerd met andere Hadoop-tools.

Agents kunnen aan elkaar worden gekoppeld, zodat de sink van de ene agent gegevens naar de bron verzendt van een andere agent.Avro, het externe call-en-serialisatiekader van Apache, is de gebruikelijke manier om gegevens over een netwerk met Flume te verzenden, omdat het als een nuttig hulpmiddel dient voor efficiënte serialisatie of transformatie van gegevens in een compact binair formaat.

In de context van Flume is compatibiliteit belangrijk: een Avro-gebeurtenis vereist bijvoorbeeld een Avro-bron en een gootsteen moet gebeurtenissen leveren die geschikt zijn voor de bestemming.

Wat deze geweldige reeks bronnen, kanalen en putten doet werken, is de Flume-agentconfiguratie, die wordt opgeslagen in een lokaal tekstbestand dat is gestructureerd als een Java-eigenschappenbestand. U kunt meerdere agents in hetzelfde bestand configureren. Bekijk een voorbeeldbestand met de naam flume-agent. conf - het is ingesteld om een ​​agent genaamd shaman te configureren:

# Identificeer de componenten op agent sjamaan: sjamaan. bronnen = netcat_s1 sjamaan. putten = hdfs_w1 sjamaan. channels = in-mem_c1 # Configureer de bron: sjamaan. bronnen. netcat_s1. type = netcat sjamaan. bronnen. netcat_s1. bind = localhost sjamaan. bronnen. netcat_s1. poort = 44444 # Beschrijf de gootsteen: sjamaan. wastafels. hdfs_w1. type = hdfs sjamaan. wastafels. hdfs_w1. HDFS. pad = hdfs: // sjamaan. wastafels. hdfs_w1. HDFS. writeFormat = Tekst sjamaan. wastafels. hdfs_w1. HDFS. fileType = DataStream # Configureer een kanaal dat gebeurtenissen in het geheugen buffert: sjamaan. kanalen. in-mem_c1. type = geheugen sjamaan. kanalen. in-mem_c1. capaciteit = 20000 sjamaan. kanalen. in-mem_c1. transactionCapacity = 100 # Bind de bron en zink naar het kanaal: sjamaan. bronnen. netcat_s1. channels = in-mem_c1 sjamaan. wastafels. hdfs_w1. channels = in-mem_c1

Het configuratiebestand bevat eigenschappen voor elke bron, kanaal en sink in de agent en geeft aan hoe ze zijn verbonden. In dit voorbeeld heeft agent-sjamaan een bron die luistert naar gegevens (berichten naar netcat) op poort 44444, een kanaal dat gebeurtenisgegevens in het geheugen buffert, en een gootsteen die gebeurtenisgegevens bij de console registreert.

Dit configuratiebestand zou kunnen zijn gebruikt om meerdere agents te definiëren; hier configureert u er maar één om de dingen eenvoudig te houden.

Om de agent te starten, gebruikt u een shellscript met de naam flume-ng, dat zich in de bin-map van de gootverdeling bevindt. Geef de opdracht agent uit vanaf de opdrachtregel door het pad naar het configuratiebestand en de naam van de agent op te geven.

De volgende voorbeeldopdracht start de Flume-agent:

flume-ng agent -f / -n shaman

Het logboek van de Flume-agent moet beschikken over vermeldingen die controleren of de bron, het kanaal en de sink met succes zijn gestart.

Om de configuratie verder te testen, kunt u telnet naar poort 44444 van een andere terminal gaan en Flume een gebeurtenis sturen door een willekeurige tekstreeks in te voeren. Als alles goed gaat, zal de originele Flume-terminal de gebeurtenis uitvoeren in een logbericht dat u in het logboek van de agent moet kunnen zien.

Loggegevens met flume in HDFS - dummies

Bewerkers keuze

Hoe u uw LinkedIn-profiel kunt vermarkten voor de markt - dummies

Hoe u uw LinkedIn-profiel kunt vermarkten voor de markt - dummies

Wanneer het komt om het voordeel dat u van LinkedIn krijgt te maximaliseren, bent u uw grootste pleitbezorger. Hoewel je netwerk van connecties je helpt te groeien, gebeurt veel van je marketing zonder dat je erbij betrokken bent. Nadat je je profiel hebt aangemaakt, worden die en andere LinkedIn-activiteit van je gelezen en beoordeeld door de ...

Hoe u uw LinkedIn-netwerk kunt bouwen voordat u naar een nieuwe stad gaat - dummies

Hoe u uw LinkedIn-netwerk kunt bouwen voordat u naar een nieuwe stad gaat - dummies

Deze dagen, wanneer u naar een nieuwe stad moet verhuizen, kunt u er veel plannen voor maken op LinkedIn en op internet. Je kunt de buurten onderzoeken, de schoolsystemen bekijken en online naar huizen gaan. Je kunt een stap verder gaan als je van plan bent om naar een andere ...

Hoe u uw LinkedIn-contactinstellingen controleert - dummies

Hoe u uw LinkedIn-contactinstellingen controleert - dummies

U zeker wilt dat u de juiste instellingen selecteert contactinstellingen voor uw LinkedIn-profiel. Als u bijvoorbeeld op zoek bent naar een nieuwe baan, wilt u er zeker van zijn dat de optie voor Carrièremogelijkheden is gecontroleerd. Wanneer u klaar bent om uw contactinstellingen te controleren, volgt u deze stappen: Ga naar ...

Bewerkers keuze

Canon EOS Rebel XS / 1000D voor Dummy's Cheat Sheet - dummies

Canon EOS Rebel XS / 1000D voor Dummy's Cheat Sheet - dummies

Uw Canon EOS Rebel XS / 1000D heeft alle functies die u kunt gebruiken om fantastische foto's te maken. Je moet de beeldmodus instellen op het onderwerp van je foto en de Canon EOS Rebel XS / 1000D laat je volledig of gedeeltelijk automatisch gaan met de belichtingsinstellingen.

Canon Rebel T3-serie camera's: Live-modus Autofocus in Live View - dummies

Canon Rebel T3-serie camera's: Live-modus Autofocus in Live View - dummies

Live-modus Met autofocus kunt u de focus instellen op uw Canon EOS Rebel T3 of T3i zonder tijdelijk het voorbeeld van de monitor te verliezen. Bovendien, in plaats van het selecteren van negen autofocuspunten, verplaatst u eenvoudig een enkel scherpstelpunt over uw onderwerp. Aan de andere kant is de autofocus van de Live-modus merkbaar langzamer dan in de Quick-modus, en ...

Bewerkers keuze

Wijzigt Hoe tekstgrootte te wijzigen in Word 2016 - dummies

Wijzigt Hoe tekstgrootte te wijzigen in Word 2016 - dummies

Tekstgrootte wordt ingesteld in uw Word 2016 document gebaseerd over de meting van de oude letterzetter, ook wel punten genoemd. Hier zijn enkele aandachtspunten waarmee u rekening moet houden bij het opmaken van tekst in Word: hoe groter de puntgrootte, hoe groter de tekst. De meeste gedrukte tekst is 10 of 12 punten lang. Koppen zijn meestal 14 ...

Grammatica controleren in Word 2007 - dummies

Grammatica controleren in Word 2007 - dummies

Naast het controleren op correcte spelling, kunt u met Word 2007 ook om uw documenten te bewijzen om grammaticale fouten te voorkomen. U kunt de grammaticasuggesties van Word bekijken terwijl u door het document bladert, of u kunt een traditionele spellingcontrole uitvoeren. Word biedt u zelfs de kans om de gemarkeerde fout te onderzoeken en meer te leren van ...

Spelling controleren terwijl u typt in Word 2013 - dummies

Spelling controleren terwijl u typt in Word 2013 - dummies

Woord 2013 heeft een interne bibliotheek vol met ontelbare woorden, allemaal correct gespeld. Telkens wanneer u een woord typt, wordt het vergeleken met dat woordenboek. Wanneer het woord niet wordt gevonden, wordt dit als verdacht gemarkeerd in uw document. Het merk is een rode zigzaglijn. Mijn advies: blijf typen. Laat de "rode zigzag van een ...