Zuhause Persönliche Finanzen Protokollieren von Daten mit Flume in HDFS - Dummys

Protokollieren von Daten mit Flume in HDFS - Dummys

Video: PIPIEX | Tutorial | #011 | Daten protokollieren 2025

Video: PIPIEX | Tutorial | #011 | Daten protokollieren 2025
Anonim

Einige der Daten, die im Hadoop Distributed File System (HDFS) landen, können dort über Datenbankladevorgänge oder andere Arten von Batch-Prozessen landen. Wenn Sie die Daten erfassen möchten, die in Datenströmen mit hohem Durchsatz fließen, z. B. Anwendungsprotokolldaten? Apache Flume ist der derzeit übliche Weg, dies einfach, effizient und sicher zu machen.

Apache Flume , ein weiteres Top-Level-Projekt der Apache Software Foundation, ist ein verteiltes System zur Aggregation und Übertragung großer Mengen von Streaming-Daten aus verschiedenen Quellen an einen zentralen Datenspeicher.

Anders ausgedrückt ist Flume für die kontinuierliche Aufnahme von Daten in HDFS ausgelegt. Bei den Daten kann es sich um beliebige Daten handeln, aber Flume eignet sich besonders gut für die Verarbeitung von Protokolldaten, wie z. B. Protokolldaten von Webservern. Einheiten der Daten, die Flume verarbeitet, werden Ereignisse genannt; Ein Beispiel für ein Ereignis ist ein Protokollsatz.

Um zu verstehen, wie Flume innerhalb eines Hadoop-Clusters funktioniert, müssen Sie wissen, dass Flume als ein oder mehrere Agenten ausgeführt wird und dass jeder Agent drei steckbare Komponenten hat: Quellen, Kanäle und Senken:

  • Quellen rufen Daten ab und senden sie an Kanäle.

  • Kanäle enthalten Datenwarteschlangen und dienen als Leitungen zwischen Quellen und Senken, was nützlich ist, wenn die eingehende Flussrate die ausgehende Flussrate übersteigt.

  • Sinkt verarbeitet Daten, die von Kanälen erfasst wurden, und überträgt sie an ein Ziel, z. B. HDFS.

Ein Agent muss mindestens eine Komponente ausführen, und jeder Agent ist in seiner eigenen Instanz der Java Virtual Machine (JVM) enthalten.

Ein Ereignis, das von einer Quelle in einen Kanal geschrieben wird, wird erst dann aus diesem Kanal entfernt, wenn es von einer Senke durch eine Transaktion entfernt wird. Wenn ein Netzwerkfehler auftritt, behalten Kanäle ihre Ereignisse in Warteschlange, bis die Senken sie in den Cluster schreiben können. Ein speicherinterner Kanal kann Ereignisse schnell verarbeiten, ist jedoch flüchtig und kann nicht wiederhergestellt werden, während ein dateibasierter Kanal Persistenz bietet und im Fehlerfall wiederhergestellt werden kann.

Jeder Agent kann mehrere Quellen, Kanäle und Senken haben, und obwohl eine Quelle auf viele Kanäle schreiben kann, kann eine Senke Daten von nur einem Kanal aufnehmen.

Ein Agent ist nur eine JVM, die Flume ausführt, und die Senken für jeden Agentenknoten im Hadoop-Cluster senden Daten an Collector-Knoten , die die Daten von vielen Agenten aggregieren. Schreiben Sie es in HDFS, wo es von anderen Hadoop-Tools analysiert werden kann.

Agenten können miteinander verkettet werden, sodass die Senke von einem Agenten Daten von einem anderen Agenten an die Quelle sendet.Avro, das Remote-Call-and-Serialization-Framework von Apache, ist die übliche Art, Daten mit Flume über ein Netzwerk zu senden, da es als nützliches Werkzeug für die effiziente Serialisierung oder Umwandlung von Daten in ein kompaktes Binärformat dient.

Im Zusammenhang mit Flume ist die Kompatibilität wichtig: Ein Avro-Ereignis erfordert beispielsweise eine Avro-Quelle, und eine Senke muss Ereignisse liefern, die für das Ziel geeignet sind.

Was diese große Kette von Quellen, Kanälen und Senken ausmacht, ist die Flume-Agentenkonfiguration, die in einer lokalen Textdatei gespeichert ist, die wie eine Java-Eigenschaftsdatei strukturiert ist. Sie können mehrere Agenten in derselben Datei konfigurieren. Schauen Sie sich eine Beispieldatei an, die als flume-agent bezeichnet wird. conf - es wird ein Agent namens shaman konfiguriert:

# Identifizieren Sie die Komponenten auf dem Agenten shaman: shaman. Quellen = netcat_s1 Schamane. Senken = hdfs_w1 Schamane. channels = in-mem_c1 # Konfiguriere die Quelle: Schamane. Quellen. netcat_s1. Typ = Netcat Schamane. Quellen. netcat_s1. binden = localhost Schamane. Quellen. netcat_s1. port = 44444 # Beschreibe die Spüle: Schamane. sinkt. hdfs_w1. Typ = hdfs Schamane. sinkt. hdfs_w1. hdfs. Pfad = hdfs: // Schamane. sinkt. hdfs_w1. hdfs. writeFormat = Textschamane. sinkt. hdfs_w1. hdfs. fileType = DataStream # Konfigurieren Sie einen Kanal, der Ereignisse im Speicher puffert: shaman. Kanäle. in-mem_c1. Typ = Gedächtnisschamane. Kanäle. in-mem_c1. Kapazität = 20000 Schamane. Kanäle. in-mem_c1. transactionCapacity = 100 # Binde die Quelle und die Senke an den Kanal: Schamane. Quellen. netcat_s1. Kanäle = In-mem_c1 Schamane. sinkt. hdfs_w1. channels = in-mem_c1

Die Konfigurationsdatei enthält Eigenschaften für jede Quelle, jeden Kanal und jede Senke im Agenten und gibt an, wie sie verbunden sind. In diesem Beispiel hat Agent Schamane eine Quelle, die Daten (Nachrichten an Netcat) auf Port 44444 abliest, einen Kanal, der Ereignisdaten im Speicher puffert, und eine Senke, die Ereignisdaten an die Konsole protokolliert.

Diese Konfigurationsdatei könnte verwendet worden sein, um mehrere Agenten zu definieren. Hier konfigurieren Sie nur eines, um die Dinge einfach zu halten.

Verwenden Sie zum Starten des Agenten ein Shell-Skript namens flume-ng, das sich im bin-Verzeichnis der Flume-Distribution befindet. Geben Sie über die Befehlszeile den Befehl agent aus und geben Sie den Pfad zur Konfigurationsdatei und den Namen des Agenten an.

Der folgende Beispielbefehl startet den Flume-Agenten:

flume-ng agent -f / -n Schaman

Das Log des Flume-Agenten sollte Einträge enthalten, die bestätigen, dass die Quelle, der Kanal und die Senke erfolgreich gestartet wurden.

Um die Konfiguration weiter zu testen, können Sie von einem anderen Terminal aus eine Verbindung mit Port 44444 herstellen und Flume ein Ereignis senden, indem Sie eine beliebige Textzeichenfolge eingeben. Wenn alles in Ordnung ist, gibt das ursprüngliche Flume-Terminal das Ereignis in einer Protokollnachricht aus, die Sie im Protokoll des Agenten sehen können.

Protokollieren von Daten mit Flume in HDFS - Dummys

Die Wahl des Herausgebers

Wie man die Socialcast Mobile App benutzt - dummies

Wie man die Socialcast Mobile App benutzt - dummies

Sogar die stoischste Anwendung wie Microsoft Excel hat ein begleitendes Smartphone-App, natürlich hat Socialcast auch eine. Wenn es so wäre, wäre es nicht wirklich eine Ausrede zu sagen, dass Socialcast nicht sehr sozial wäre, wenn du es nicht mit in die große Welt außerhalb deiner Zelle mitnehmen könntest. Die mobile App ...

Wie man das App Verzeichnis von Yammer benutzt - dummies

Wie man das App Verzeichnis von Yammer benutzt - dummies

Sie haben vielleicht gehört: "Es gibt eine App dafür. "Nun, das ist der Fall bei Yammer, der als einzige Ressource für die Vernetzung am Arbeitsplatz funktioniert. Aber Yammer bietet Ihnen auch eine Menge Apps, mit denen Sie Ihr Arbeitsleben noch einfacher gestalten können. Es gibt zwei Möglichkeiten, auf das App-Verzeichnis zuzugreifen: Option ...

So ​​verwenden Sie die Yammer-Analysetools - Dummies

So ​​verwenden Sie die Yammer-Analysetools - Dummies

Yammer rühmt sich damit als "führendes soziales Unternehmensnetzwerk für Unternehmen" um die Arbeit intelligenter und schneller zu erledigen. "Woher weißt du, ob das wahr ist? Ein guter Weg, um zu sehen, wie es für Sie funktioniert, ist die Analyse von Yammer. Wie greifen Sie auf diese großartigen Tools zu? Es ist einfach. Log ...

Die Wahl des Herausgebers

Die Evolution von Distributed Computing für Big Data - Dummies

Die Evolution von Distributed Computing für Big Data - Dummies

Hinter allen wichtigen Trends des letzten Jahrzehnts, einschließlich Serviceorientierung, Cloud Computing, Virtualisierung und Big Data, ist eine grundlegende Technologie namens Distributed Computing. Einfach gesagt, ohne die Verteilung von Datenverarbeitung wäre keiner dieser Fortschritte möglich. Distributed Computing ist eine Technik, mit der einzelne Computer über geografische Gebiete hinweg miteinander vernetzt werden können, so als ob ...

Drei Anbieter mit Data Mining-Produkten - Dummies

Drei Anbieter mit Data Mining-Produkten - Dummies

Es gibt mehrere Anbieter, die Data-Mining-Produkte verkaufen, die Sie vielleicht in Betracht ziehen möchten. Verwenden Sie mit Ihrem Data Warehouse. Hier sind drei, die eine Überlegung wert sind. Microsoft Microsoft hat das serverseitige Data Mining mit Microsoft SQL Server 2005 eingeführt. Obwohl es nicht so ausgereift und ausgeklügelt wie SAS und SPSS ist, hat Microsoft im Laufe der Zeit seine Fähigkeit bewiesen ...

Grundlagen der Big-Data-Integration - Dummies

Grundlagen der Big-Data-Integration - Dummies

Die fundamentalen Elemente der Big-Data-Plattform verwalten Daten auf neue Weise verglichen mit der traditionellen relationalen Datenbank. Dies liegt daran, dass Skalierbarkeit und hohe Leistung erforderlich sind, um sowohl strukturierte als auch unstrukturierte Daten zu verwalten. Komponenten des Big-Data-Ökosystems von Hadoop bis NoSQL DB, MongoDB, Cassandra, ...

Die Wahl des Herausgebers

So ​​stellen Sie eine Verbindung zu Spotify Mobile her - Dummies

So ​​stellen Sie eine Verbindung zu Spotify Mobile her - Dummies

Die meisten modernen Smartphones sind Wi-Fi-fähig. In ein lokales Netzwerk können Sie Spotify-Tracks mithilfe von Wi-Fi auf Ihr Telefon streamen. Sie können Spotify Mobile zu Hause und über Wi-Fi-Netzwerke in Hotels und Cafés problemlos nutzen - Sie müssen nur sicherstellen, dass Sie angemeldet und verbunden sind. ...

Wie Spotify funktioniert - Dummies

Wie Spotify funktioniert - Dummies

Wie Spotify funktioniert, kann Auswirkungen auf den Festplattenspeicher Ihres Computers haben. Internetverbindung. Spotify funktioniert anders als viele andere Online-Musikdienste, weil es auf mehrere Arten angewiesen ist, um Ihnen reibungslos Musik ohne Verzögerungen zu liefern. In Computing-Sprechen, das Maß der Verzögerung zwischen Anfordern eines Songs und Hören es ...

So ​​erreichen Sie Spotify Support - Dummies

So ​​erreichen Sie Spotify Support - Dummies

Es kann vorkommen, dass Sie eine kleine Hilfe beim Navigieren und Verwenden von Spotify benötigen von deinen Spotify Freunden. Sie können jederzeit Support @ spotify per E-Mail senden. com mit Ihrer Frage oder melden Sie sich bei Twitter an und senden Sie einen Tweet an @spotify. Stellen Sie sicher, dass Sie alle Informationen einschließen, die dem Support-Team helfen könnten, einschließlich Ihres Benutzernamens, damit sie ...