Du hast Fragen? Wir haben Antworten! - Bald findet unser nächster Tag der offenen Tür statt!

Logo site

Apache Oozie: Vereinfache die Verwaltung deiner Big Data-Workflows

-
3
 Minuten Lesezeit
-
apache oozie

Apache Oozie ist ein Open-Source-Tool für die Ablaufplanung, das ursprünglich 2007 von Yahoo! entwickelt wurde, um die Koordination von Hadoop-Jobs zu erleichtern. Oozie wurde 2011 als Apache Incubator-Projekt akzeptiert und 2012 zum Apache Top-Level-Projekt befördert.

Seit seiner Gründung hat sich das Projekt ständig verbessert und neue Funktionen hinzugefügt bekommen. Die Version 5.0.0, die 2017 veröffentlicht wurde, war eine große Weiterentwicklung mit vielen Verbesserungen, darunter die Unterstützung für langfristige Planung und die Unterstützung für SSL-Zertifikate.

Apache Oozie wird heute in vielen Unternehmen für die Koordination von Hadoop-Jobs und -Workflows eingesetzt.

 

💡Auch interessant:

Apache Spark
Apache Kafka
Apache Cassandra
Apache Schulung
Apache Airflow
Apache Flume
Apache Storm

Wie funktioniert Apache Oozie ?

Apache Oozie ist ein Scheduling-System zur Verwaltung und Ausführung von Hadoop-Jobs in einer verteilten Umgebung. Du kannst Pipelines erstellen, indem du verschiedene Jobs wie Hive, MapReduce oder auch Pig kombinierst.

Als Open-Source-Java-Webanwendung ist Oozie für das Auslösen deiner verschiedenen Workflows verantwortlich. Die Fertigstellung von Aufgaben wird nach einem Callback- und Polling-Prinzip erkannt. Wenn Oozie eine Aufgabe startet, stellt es automatisch eine eindeutige HTTP-Callback-URL für die Aufgabe zur Verfügung und benachrichtigt diese URL, sobald die Aufgabe abgeschlossen ist. Für den Fall, dass die Aufgabe es nicht schafft, die Callback-URL aufzurufen, kann Oozie die Aufgabe sondieren, um zu überprüfen, ob sie abgeschlossen ist.

Apache Oozie verfügt über drei Arten von Jobs:

Apache Oozie Workflow

Ein Apache Oozie-Workflow ist eine Abfolge von Aktionen, die als gerichteter azyklischer Graph (DAG) organisiert sind. Diese Aktionen hängen voneinander ab, so dass die nächste Aktion erst ausgeführt werden kann, wenn die vorherige Aktion beendet wurde.

Je nach Bedarf können verschiedene Arten von Aktionen erstellt werden. Der Workflow und die Skripte oder .jar-Dateien müssen im HDFS-Pfad positioniert werden, bevor der Workflow ausgeführt wird.

Für den Fall, dass wir mehrere Jobs parallel ausführen wollen, können wir Fork verwenden.

Für jede Verwendung von Fork muss am Ende von Fork eine Verbindung (Join) verwendet werden.

Join geht davon aus, dass alle parallel laufenden Knoten Kinder eines einzigen Forks sind, wie das folgende Diagramm zeigt.

Oozie-Koordinator

Der Oozie-Koordinator ermöglicht es dir, komplexe Workflows zu terminieren. Er löst diese Workflows auf der Grundlage von Zeit-, Daten- oder Ereignisprädikaten aus. So beginnen die Workflows, sobald die gegebene Bedingung erfüllt ist.

Die erforderlichen Definitionen für Koordinationsjobs sind wie folgt:

  • start: Datum und Uhrzeit des Arbeitsbeginns.
  • end: Datum und Uhrzeit des Arbeitsendes
    timezone: Zeitzone der Koordinationsanwendung.
  • frequency: In Minuten, die Häufigkeit für die Ausführung der Arbeit

Einige zusätzliche Eigenschaften sind auch für Kontrollinformationen verfügbar:

  • timeout: Die maximale Zeit in Minuten, die eine Aktion auf die Erfüllung der Bedingungen wartet, bevor sie abgelehnt wird.
  • concurrency: Die maximale Anzahl von Aktionen, die parallel ausgeführt werden können.
  • execution: Die Ausführungsreihenfolge, die aus FIFO, LIFO und LAST_ONLY ausgewählt werden kann.

Oozie Bundle

Oozie-Bundles sind keine Jobart im eigentlichen Sinne. Es handelt sich um ein Bündel von mehreren Koordinatoren- oder Workflow-Jobs. Die Bundles generieren so ihren Lebenszyklus.

Die Funktionen von Apache Oozie

Apache Oozie bietet eine Vielzahl von Funktionen, die es dir ermöglichen, deine Hadoop-Arbeiten effektiv zu planen und zu koordinieren. Hier sind einige der wichtigsten Funktionen von Oozie :

  • Automatisierte Workflow-Planung: Wie bereits erwähnt, kannst du mit Oozie deine Workflows anhand von Zeit-, Daten- oder Ereignisbedingungen planen.
  • Integration: Oozie ist so konzipiert, dass es sich einfach mit anderen beliebten Hadoop-Tools wie Hive, MapReduce, Spark oder HBase integrieren lässt.
  • Fehlermanagement: Es wird eine erweiterte Fehlermanagementfunktion bereitgestellt, die es den Nutzern ermöglicht, im Falle eines Problems die richtigen Entscheidungen zu treffen.
  • GUI: Oozie wird mit einer benutzerfreundlichen GUI geliefert, die es den Nutzern ermöglicht, ihre Workflows effizient zu visualisieren und zu verwalten. Diese GUI bietet auch Echtzeit-Überwachungsfunktionen für laufende Jobs.

Fazit

Apache Oozie ist ein leistungsstarkes und flexibles Werkzeug, das eine effiziente und koordinierte Verwaltung von Hadoop-Jobs und -Workflows ermöglicht. Dank seiner erweiterten Funktionen, die in diesem Artikel besprochen werden, ist Oozie zu einem Muss für die Analyse verteilter Daten geworden.

Wenn du oder dein Kunde nach einer effektiven Möglichkeit zur Verwaltung von Hadoop-Workflows sucht, ist Apache Oozie ein Werkzeug, das ernsthaft in Betracht gezogen werden sollte.

DataScientest News

Melde Dich jetzt für unseren Newsletter an, um unsere Guides, Tutorials und die neuesten Entwicklungen im Bereich Data Science direkt per E-Mail zu erhalten.

Möchtest Du informiert bleiben?

Schreib uns Deine E-Mail-Adresse, damit wir Dir die neuesten Artikel zum Zeitpunkt der Veröffentlichung zusenden können!
icon newsletter

DataNews

Starte Deine Karriere im Bereich Data: Erhalte regelmäßig Insiderwissen und wertvolle Karrieretipps in Deinem Posteingang.