{"id":176239,"date":"2023-05-13T18:32:03","date_gmt":"2023-05-13T17:32:03","guid":{"rendered":"https:\/\/liora.io\/de\/?p=176239"},"modified":"2026-08-07T14:25:34","modified_gmt":"2026-08-07T12:25:34","slug":"apache-storm-was-ist-das-wozu-benutzt-man-es","status":"publish","type":"post","link":"https:\/\/liora.io\/de\/apache-storm-was-ist-das-wozu-benutzt-man-es","title":{"rendered":"Apache Storm: Was ist das? Wozu benutzt man es?"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\" id=\"was-ist-apache-storm\">Was ist Apache Storm ?<\/h2>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex is-content-justification-center wp-container-core-buttons-is-layout-5ee10de4\" style=\"margin-top:32px;margin-bottom:32px\"><div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/liora.io\/de\/weiterbildung\/data-ki\/data-analyst\">Apache Storm lernen mit Liora<\/a><\/div><\/div>\n\n\n\n<p><strong><strong>Apache Storm<\/strong> ist ein verteiltes <a href=\"https:\/\/liora.io\/de\/open-source-definition\">Open-Source-System<\/a> zur Verarbeitung von Echtzeit-Datenstr\u00f6men, das haupts\u00e4chlich in Clojure entwickelt wurde. Es erm\u00f6glicht die Verwaltung von kontinuierlichen Datenstr\u00f6men. Storm wird heute vielfach in sozialen Netzwerken, Online-Spielen oder auch in industriellen \u00dcberwachungssystemen eingesetzt.<\/strong><\/p>\n\n\n\n<p><strong>Apache Storm<\/strong> wurde urspr\u00fcnglich von Nathan Marz f\u00fcr das Startup Backtype entwickelt, das von Twitter aufgekauft wurde.<\/p>\n\n\n\n<p>Apache Storm legt gro\u00dfen Wert darauf, so einfach wie m\u00f6glich zu bleiben, was es Entwicklern erm\u00f6glicht, Topologien mit jeder Programmiersprache zu erstellen. Die Entwicklung von Storm erfordert die Manipulation von Tupeln (zur Erinnerung: Ein Tupel ist eine benannte Liste von Werten).<\/p>\n\n\n\n<p>Diese Tupel k\u00f6nnen jeden beliebigen Objekttyp enthalten, und selbst wenn Apache Storm den Typ nicht kennt, ist es leicht m\u00f6glich, einen Serialisierer zu implementieren.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"wie-ist-apache-storm-aufgebaut\">Wie ist Apache Storm aufgebaut?<\/h2>\n\n\n\n<p>Apache Storm verwendet eine &#8222;Master ,  Slave&#8220; Architektur mit den folgenden Komponenten:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Nimbus:<\/strong> Dies ist der Masterknoten, der f\u00fcr die Verteilung des Codes unter den Supervisoren, die Zuweisung der Eingabedatens\u00e4tze an die Maschinen zur Verarbeitung und die \u00dcberwachung von Ausf\u00e4llen verantwortlich ist.<\/li>\n<li><strong>Zookeeper:<\/strong> Koordiniert und verwaltet die Prozesse der Datenverteilung.\nSupervisors: Dienste, die auf jedem Worker-Knoten ausgef\u00fchrt werden, die die Arbeitsprozesse verwalten und ihre Ausf\u00fchrung \u00fcberwachen.<\/li>\n<li><strong>Workers:<\/strong> Sind die mehreren oder einzelnen Prozesse auf jedem Knoten, die von den Supervisors gestartet werden. Sie f\u00fchren eine parallele Verwaltung von Dateneingaben durch und senden die Daten an eine <a href=\"https:\/\/liora.io\/de\/datenbank-data-management-weiterbildung\">Datenbank oder ein Dateisystem.<\/a><\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full is-resized\" style=\"width:638px;max-width:100%;margin-top:32px;margin-right:auto;margin-bottom:32px;margin-left:auto\"><img alt=\"Illustration zu \u201eWie ist Apache Storm aufgebaut?\u201c\" decoding=\"async\" height=\"425\" loading=\"lazy\" sizes=\"(max-width: 638px) 100vw, 638px\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/05\/image3.png\" srcset=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/05\/image3.png 638w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/05\/image3-300x200.png 300w\" style=\"width:638px;max-width:100%;height:auto\" width=\"638\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"topologie-des-tools\">Topologie des Tools<\/h3>\n\n\n\n<p>Die Topologie in <strong>Apache Storm<\/strong> verwendet ein <strong>azyklisches gerichtetes Graphensystem (DAG)<\/strong>. Sie funktioniert \u00e4hnlich wie die MapReduce-Jobs in <a href=\"https:\/\/liora.io\/de\/hadoop\">Hadoop.<\/a><\/p>\n\n\n\n<p>Die Topologie besteht aus den folgenden Elementen:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Spouts:<\/strong> Sie sind der Eingangspunkt f\u00fcr die Datenstr\u00f6me. Sie verbinden sich mit der Datenquelle, rufen die Daten kontinuierlich ab, wandeln die Informationen in Tupelstr\u00f6me um und senden diese Ergebnisse an die Bolts.<\/li>\n<li><strong>Bolts:<\/strong> Sie speichern die Verarbeitungslogik. Sie f\u00fchren verschiedene Funktionen aus (z. B. Aggregation, Joining, Filtern usw.). Die Ausgabe erzeugt \u00fcber zus\u00e4tzliche Bolts neue Str\u00f6me f\u00fcr eine neue Verarbeitung oder speichert die Daten in einer Datenbank oder einem Dateisystem.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\" style=\"margin-top:32px;margin-bottom:32px\"><img alt=\"Illustration zu \u201eTopologie des Tools\u201c\" decoding=\"async\" height=\"400\" loading=\"lazy\" sizes=\"(max-width: 800px) 100vw, 800px\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/05\/image1-3.png\" srcset=\"https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/05\/image1-3.png 800w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/05\/image1-3-300x150.png 300w, https:\/\/liora.io\/app\/uploads\/sites\/8\/2023\/05\/image1-3-768x384.png 768w\" style=\"width:100%;height:auto\" width=\"800\"\/><\/figure>\n\n\n\n<p>Dieses Schema zeigt, dass die Topologie in<strong> Apache Storm<\/strong> eine Verkettung von Verarbeitungsschritten ist, deren Verteilung von Bolts und Spouts sehr schnelle Ergebnisse erm\u00f6glicht.<\/p>\n\n\n\n\n\n<h3 class=\"wp-block-heading\" id=\"modell-der-parallelitat-in-apache-storm-was-ist-das\">Modell der Parallelit\u00e4t in Apache Storm: Was ist das?<\/h3>\n\n\n\n<p><strong>Apache Storm<\/strong> verwendet ein auf Tasks und Bolts basierendes Parallelisierungsmodell. Die Daten werden von einer Reihe paralleler Tasks verarbeitet, die mithilfe von Bolts miteinander verbunden sind.<\/p>\n\n\n\n<p>Jede der Aufgaben verarbeitet eine Teilmenge der Eingabedaten, und die Bolts erm\u00f6glichen es, die Aufgaben miteinander zu verbinden, um Datenstr\u00f6me zu erzeugen.<\/p>\n\n\n\n<p>Dadurch kann Storm die Daten auf verteilte Weise verarbeiten, was die Leistung erh\u00f6ht, wenn mehrere Maschinen die Daten gleichzeitig verarbeiten.<\/p>\n\n\n\n<p><strong>DRPCs (Distributed Remote Procedure Call)<\/strong> erm\u00f6glichen die Parallelisierung von sehr intensiven und verbrauchsintensiven Berechnungen. Sie verhalten sich mehr oder weniger wie ein Spout, mit dem Unterschied, dass die Datenquellen die Argumente der Funktion sind und diese eine Antwort in Form von Text oder json f\u00fcr jeden dieser Streams zur\u00fcckgibt.<\/p>\n\n\n\n<p>Sie sind n\u00fctzlich f\u00fcr zeitraubende Berechnungen, um die Antwortzeiten zu verk\u00fcrzen.<\/p>\n\n\n\n<p>Auch interessant: <a href=\"https:\/\/liora.io\/de\/apache-schulung-wie-lerne-ich-hadoop-spark-und-cassandra\">Apache Schulung<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"fehlertoleranz-in-apache-storm\">Fehlertoleranz in Apache Storm<\/h3>\n\n\n\n<p>Bei der Verwaltung von <a href=\"https:\/\/liora.io\/de\/big-data-definition-technologien-anwendungen-weiterbildung\">Big-Data-Prozessen<\/a> kann die Informations\u00fcberlastung zu Fehlern oder Ausf\u00e4llen auf bestimmten Clustern f\u00fchren. Daher ist es wichtig, dass Storm trotz eines Ausfalls weiterarbeiten kann.<\/p>\n\n\n\n<p>Wenn ein Worker fehlschl\u00e4gt oder ausf\u00e4llt, wird er von Storm automatisch neu gestartet.<\/p>\n\n\n\n<p>Wenn ein ganzer Knoten abst\u00fcrzt, startet Storm die Aufgaben, die auf anderen Workern liefen, neu. Auch wenn der Nimbus oder die Supervisoren abst\u00fcrzen, werden sie automatisch neu gestartet.<\/p>\n\n\n\n<p>Es ist sogar m\u00f6glich, das Beenden eines Prozesses zu erzwingen (z. B. mit taskkill -9), ohne Cluster oder Topologien zu beeinflussen.<\/p>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex is-content-justification-center wp-container-core-buttons-is-layout-5ee10de4\" style=\"margin-top:32px;margin-bottom:32px\"><div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/liora.io\/de\/weiterbildung\/data-ki\/data-analyst\">Entdecke die Apache Storm Weiterbildungen<\/a><\/div><\/div>\n\n\n\n<p>Auch interessant: <a href=\"https:\/\/liora.io\/de\/transactional-database-alles-was-du-wissen-musst\">Transactional Database<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"die-verschiedenen-garantieniveaus\">Die verschiedenen Garantieniveaus<\/h3>\n\n\n\n<p>Storm bietet mehrere Garantiestufen f\u00fcr die Verarbeitung von Datenstr\u00f6men an:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>At most once:<\/strong> Dies ist die Standard-Garantiestufe. Sie garantiert, dass jedes Tupel mindestens einmal verarbeitet wird.<\/li>\n<li><strong>At least once:<\/strong> Diese Garantie bedeutet, dass jedes Tupel mindestens einmal verarbeitet wird. Sie kann dazu f\u00fchren, dass einige Tupel doppelt verarbeitet werden.<\/li>\n<li><strong>Exactly once:<\/strong> Diese Garantie bedeutet, dass jedes Tupel genau einmal verarbeitet wird. Dies ist die h\u00f6chste Garantiestufe, aber auch die komplizierteste, da sie Bibliotheken von Drittanbietern erfordert.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"trident\">Trident<\/h3>\n\n\n\n<p>Trident ist eine <strong>High-Level-Abstraktion<\/strong>, die eine <a href=\"https:\/\/liora.io\/de\/api-programmierung-und-dokumentation-mit-python-flask-swagger-und-connexion\">API<\/a> f\u00fcr die Transformation und Aggregation von Daten in Echtzeit bereitstellt. Es erm\u00f6glicht Entwicklern, sich auf die Gesch\u00e4ftslogik zu konzentrieren, anstatt sich mit den Details der Implementierung von Verarbeitungsaufgaben zu besch\u00e4ftigen. Es bietet eine Statusverwaltung, was die Verwaltung von Daten im Speicher f\u00fcr langfristige Verarbeitungsaufgaben erleichtert, und es unterst\u00fctzt verteilte Transaktionen, um die Zuverl\u00e4ssigkeit der Daten zu gew\u00e4hrleisten.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"apache-storm-vs-apache-spark\">Apache Storm vs. Apache Spark<\/h2>\n\n\n\n<p>Obwohl diese beiden Technologien, Apache Storm und <a href=\"https:\/\/liora.io\/de\/apache-spark\">Apache Spark<\/a>, unterschiedliche Verwendungszwecke haben, werden sie dennoch beide h\u00e4ufig bei der Verwaltung von Big Data eingesetzt. Die folgende Tabelle zeigt den Vergleich zwischen diesen beiden Technologien.<\/p>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table>\n<thead>\n<tr>\n<th><\/th>\n<th>Storm<\/th>\n<th>Spark<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Architektur<\/td>\n<td>Micro-batch<\/td>\n<td>Micro-batch\/batch<\/td>\n<\/tr>\n<tr>\n<td>Type de traitement<\/td>\n<td>Streaming Echtzeit<\/td>\n<td>Streaming Echtzeit und Batch-Bearbeitung<\/td>\n<\/tr>\n<tr>\n<td>Latenz<\/td>\n<td>Ein paar Millisekunden<\/td>\n<td>Ein paar Sekunden<\/td>\n<\/tr>\n<tr>\n<td>Skalierbarkeit<\/td>\n<td>Tausende Knoten<\/td>\n<td>Zehntausende Knoten<\/td>\n<\/tr>\n<tr>\n<td>Unterst\u00fctzte Sprachen<\/td>\n<td>Keine Unterscheidung<\/td>\n<td>Java, Scala, Python, R<\/td>\n<\/tr>\n<tr>\n<td>Benutzung<\/td>\n<td>Bearbeitung von Datenstr\u00f6men in Echtzeit<\/td>\n<td>Bearbeitung von Datenstr\u00f6men in Echtzeit und Stapelverarbeitung<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"fazit\">Fazit<\/h2>\n\n\n\n<p>Zusammenfassend l\u00e4sst sich sagen, dass <strong>Apache Storm<\/strong> ein System zur Verarbeitung von verteilten Datenstr\u00f6men ist, mit dem gro\u00dfe Datenmengen in Echtzeit effizient und zuverl\u00e4ssig verarbeitet werden k\u00f6nnen.<\/p>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex is-content-justification-center wp-container-core-buttons-is-layout-5ee10de4\" style=\"margin-top:32px;margin-bottom:32px\"><div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/liora.io\/de\/weiterbildung\/data-ki\/data-analyst\">Data Analyst Weiterbildung entdecken<\/a><\/div><\/div>\n\n\n\n<p>Mit seiner flexiblen und skalierbaren Plattform hat sich Apache Storm als beliebte Wahl f\u00fcr Unternehmen erwiesen, die Daten in Echtzeit verarbeiten und entsprechende Entscheidungen treffen wollen.<\/p>\n\n\n\n","protected":false},"excerpt":{"rendered":"<p>Was ist Apache Storm ? Apache Storm ist ein verteiltes Open-Source-System zur Verarbeitung von Echtzeit-Datenstr\u00f6men, das haupts\u00e4chlich in Clojure entwickelt wurde. Es erm\u00f6glicht die Verwaltung von kontinuierlichen Datenstr\u00f6men. Storm wird heute vielfach in sozialen Netzwerken, Online-Spielen oder auch in industriellen \u00dcberwachungssystemen eingesetzt. Apache Storm wurde urspr\u00fcnglich von Nathan Marz f\u00fcr das Startup Backtype entwickelt, das [&hellip;]<\/p>\n","protected":false},"author":76,"featured_media":176240,"comment_status":"open","ping_status":"open","sticky":false,"template":"elementor_theme","format":"standard","meta":{"_acf_changed":false,"editor_notices":[],"footnotes":""},"categories":[2472],"class_list":["post-176239","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-data-ki"],"acf":[],"_links":{"self":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts\/176239","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/users\/76"}],"replies":[{"embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/comments?post=176239"}],"version-history":[{"count":5,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts\/176239\/revisions"}],"predecessor-version":[{"id":224918,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts\/176239\/revisions\/224918"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/media\/176240"}],"wp:attachment":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/media?parent=176239"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/categories?post=176239"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}