2016-06-21 27 views
0

Ich habe Daten von einer großen Anzahl von Sensoren (> 500) gestreamt und ich muss diese Daten auf meinem HDFS schreiben. Sensoren senden Daten fast alle 1 Sekunde, und die Größe jeder gedrückten Daten beträgt ~ 300B. Das Problem ist, dass ich bereits erlebt habe, dass, wenn ich anfange, mit dem Append-Modus zu viel Zeug auf dem HDFS zu pushen, es viele Ausnahmen auslöst und hängen bleibt. Ich muss einen Weg finden, um mit dieser riesigen Menge an Schriften pro Sekunde fertig zu werden, wie zum Beispiel eine Mittelschicht, die die Daten speichert und sie dann langsam in das HDFS einfügt. Ich weiß nicht, ob irgendeine DB dafür arbeiten würde, und wenn ja, welches ist das beste?Streamen von Daten auf HDFS mit hohem Durchsatz

UPDATE: Ich habe mich umgesehen, und es ist ziemlich schwer zu verstehen, die Grenze und das Potenzial der verschiedenen Lösungen.

  • Anscheinend können Technologien wie Kafka "Hunderte von Megabyte Lese- und Schreibvorgänge pro Sekunde von Tausenden von Clients" verarbeiten.
  • Es gibt andere Technologien, einige davon auf Kafka selbst gebaut, wie Confluent, aber wie es das Schreiben verbessert, ist mir noch nicht klar.
  • Dann gibt es andere Frameworks, die als "Logging Layers" (mehr oder weniger) bezeichnet werden, die diese Art von Middle Layer bereitstellen, die das Schreiben verwalten. Die meisten beworbenen Produkte sind Fluentd und Logstash.
  • Schließlich Spark als Streaming-Komponente, Spark Streaming, die irgendwie das Streaming von großen Datenmengen verwalten soll.
  • Nun ist meine Frage, ob jemand jemals mit ähnlichen Problemen zu tun hatte, und das könnte eine gute Lösung für meinen Fall sein.

    Antwort

    0

    Ich kann Ihnen nicht mit HDFS-Durchsatz helfen, aber da Sie eine mittlere Schicht erwähnen, werde ich einige der häufig verwendeten Datenspeicher zusammen mit Spark auflisten, die generell hohe Schreibraten bieten (ich denke, Sie versuchen, Spark als zu verwenden Gut?). Ich vermute, dass die meisten oder alle in der Lage sind, in HDFS zu schreiben.

    Was die "beste" ist eine Ansichtssache ist die ist auf StackOverflow generell verpönt. Mit etwas Graben können Sie jedoch Benchmarks finden und was nicht.