Apache Storm

Ein System zur Verarbeitung von Streaming-Daten in Echtzeit

Apache™ Storm ergänzt Enterprise Hadoop um zuverlässige Echtzeit-Datenverarbeitungsfunktionen. Storm on YARN ist leistungsstark für Szenarien, in denen Echtzeitanalysen, maschinelles Lernen und kontinuierliche Überwachung des Betriebs erforderlich sind.

Storm lässt sich über Apache Slider in YARN integrieren. YARN verwaltet Storm und berücksichtigt gleichzeitig Cluster-Ressourcen für Daten-Governance-, Sicherheits- und Betriebskomponenten einer modernen Datenarchitektur.

Was genau macht Storm

Storm ist ein verteiltes Echtzeit-Rechensystem zur Verarbeitung großer Datenmengen mit hoher Geschwindigkeit. Storm ist extrem schnell und kann über eine Million Datensätze pro Sekunde und Knoten in einem Cluster von geringer Größe verarbeiten. Unternehmen nutzen diese Geschwindigkeit und kombinieren sie mit anderen Datenzugriffsanwendungen in Hadoop, um unerwünschte Ereignisse zu verhindern oder positive Ergebnisse zu optimieren.

Einige der besonderen neuen Geschäftsmöglichkeiten umfassen: Kundendienstmanagement in Echtzeit, Datenmonetarisierung, operative Dashboards oder Cybersicherheitsanalysen und Bedrohungserkennung.

Hier finden Sie einige typische Anwendungsfälle zur Vorbeugung und Optimierung von Storm.

"Prevent" Use Cases "Optimize" Use Cases
 Financial Services
  • Securities fraud
  • Operational risks & compliance violations
  • Order routing
  • Pricing
  Telecom
  • Security breaches
  • Network outages
  • Bandwidth allocation
  • Customer service
  Retail
  • Shrinkage
  • Stock outs
  • Offers
  • Pricing
  Manufacturing
  • Preventative maintenance
  • Quality assurance
  • Supply chain optimization
  • Reduced plant downtime
  Transportation
  • Driver monitoring
  • Predictive maintenance
  • Routes
  • Pricing
  Web
  • Application failures
  • Operational issues
  • Personalized content

Storm ist simpel und Entwickler können Storm-Topologien mit jeder Programmiersprache schreiben. Aufgrund seiner fünf Merkmale eignet sich Storm ideal für Datenverarbeitungsaufgaben in Echtzeit. Storm ist:

  • Schnell – Benchmarking für die Verarbeitung von einer Million 100-Byte-Nachrichten pro Sekunde und Knoten
  • Skalierbar – mit parallelen Berechnungen, die auf einem Cluster von Rechnern ausgeführt werden
  • Fehlertolerant - sofern Worker ausfallen, startet Storm sie automatisch neu. Falls ein Knoten ausfällt, wird der Worker automatisch auf einem anderen Knoten neu gestartet.
  • Zuverlässig – Storm garantiert, dass jede Dateneinheit (Tupel) mindestens einmal oder genau einmal verarbeitet wird. Nachrichten werden nur bei Fehlern wiedergegeben.
  • Einfach zu bedienen – Standardkonfigurationen sind für die Produktion am ersten Tag geeignet. Einmal eingesetzt, ist Storm einfach zu bedienen.

So funktioniert Storm

Ein Sturmcluster besteht aus drei Knotensätzen:

  • Nimbus-Knoten (Masterknoten, ähnlich dem Hadoop JobTracker):
    • Lädt Berechnungen zur Ausführung hoch
    • Verteilt Code über den Cluster
    • Startet Worker im gesamten Cluster
    • Überwacht die Berechnung und ordnet Worker nach Bedarf neu zu
  • ZooKeeper-Knoten – koordiniert den Storm-Cluster
  • Supervisor-Knoten – kommuniziert mit Nimbus über Zookeeper, startet und stoppt Worker gemäß den Signalen von Nimbus

Storm-Architektur

Fünf Schlüsselabstraktionen verdeutlichen, wie Storm Daten verarbeitet:

  • Tupel– eine geordnete Liste von Elementen. Zum Beispiel könnte ein „4-Tupel“ (7, 1, 3, 7) sein
  • Streams – eine unbegrenzte Folge von Tupeln.
  • Spouts –Stream-Quellen in einer Berechnung (z. B. eine Twitter API)
  • Bolts – Verarbeitung von Eingangs-Streams und Generierung von Ausgangs-Streams. Sie können: Funktionen ausführen; Daten filtern, aggregieren oder verknüpfen; oder mit Datenbanken kommunizieren.
  • Topologien – die Gesamtberechnung, visuell dargestellt als Netzwerk von Spouts und Bolts (wie in der folgenden Abbildung)

Storm-Konzepte

Storm-Benutzer definieren Topologien für die Vorgehensweise der Verarbeitung von Daten, die vom Spout eingehen. Wenn die Daten eingehen, werden sie verarbeitet und die Ergebnisse an Hadoop übergeben.

Your form submission has failed.

This may have been caused by one of the following:

  • Your request timed out
  • A plugin/browser extension blocked the submission. If you have an ad blocking plugin please disable it and close this message to reload the page.