Auf einen Blick: Best Practices in der Big-Data-Automatisierung betonen die Einschränkungen von Oozie im Vergleich zu Unternehmenstools wie Control-M und heben Probleme wie unzureichende Überwachung und Fehlerbenachrichtigungen hervor. Unternehmen wird geraten, Hadoop mit umfassenden Automatisierungstools zu integrieren, um Effizienz und Sichtbarkeit zu verbessern.
- Oozie verfügt nicht über robuste Fehlerbenachrichtigungen und Benachrichtigungsfunktionen.
- Workload-Automatisierungstools bieten eine bessere Abhängigkeitslogik und Integration.
Für viele Hadoop-Entwickler erscheint die Verwendung von Oozie natürlich. Es ist Teil der Hadoop-Installation, bei den meisten Hadoop-Anbietern Standard und bietet eine Möglichkeit, komplette Batch-Prozesse statt einzelner Hadoop-Jobs wie Pig und Hive zu planen.
Oft fehlt vielen Hadoop-Entwicklern, wie es in den Rest des Geschäfts integriert wird, besonders wenn dieses Unternehmen einen Batch-Scheduler oder ein Workload-Automatisierungstool wie Control-M oder ein anderes Tool verwendet. Einige Punkte zu beachten: • Die meisten Unternehmen haben bereits eine Gruppe zur Überwachung kritischer Produktionsabläufe • Fehlerbenachrichtigungen und Warnungen sind in Oozie begrenzt • Die Abhängigkeitslogik in Oozie ist nicht so robust wie bei der Workload-Automatisierung in Unternehmensklassen • Hadoop ist kein eigenständiger Prozess, sondern erhält Daten aus verschiedenen Quellen und sendet Daten zurück • Dynamische Verarbeitung ist begrenzt
Überwachung kritischer Produktionsströme
Einer der wichtigsten Unterschiede ist, wer die Flows überwacht. Die meisten Unternehmen mit Workload Automation haben ein dediziertes Team als erste Verteidigungslinie bei der Batch-Überwachung. Diese Batch-Prozesse werden üblicherweise als Produktionsflüsse betrachtet und enthalten Prozesse, die für das gesamte Unternehmen kritisch sind. Die Production Batch-Umgebung überwacht praktisch jede Anwendung im Unternehmen, wie Data Warehouse, ERP, Homegrow-Tools, Supply Chain und viele andere. Dieses Team erkennt als erstes Probleme oder Situationen, die Probleme für das Unternehmen verursachen. Die Workload Automation-Tools bieten UIs für alle Sichtbarkeitsstufen der Batch-Flows. Wenn die Flows definiert und über Oozie laufen, müsste das Batch-Team ein anderes Tool, Oozie, lernen und könnte die End-to-End-Logik des gesamten Flows nicht sehen. Diese Flows müssen stattdessen vom Team überwacht werden, das sie erstellt hat, oder als Teil des Application Development Teams. Im Wesentlichen müsste die Überwachung von Oozie-Prozessen an ein insgesamt teureres, weniger zentralisiertes Team übertragen werden. Und am auffälligsten: Wenn diese Ströme für das Geschäft kritisch sind, werden sie nicht zusammen mit den anderen Prozessen überwacht.
Fehlerbenachrichtigungen und Warnungen sind begrenzt
Obwohl Oozie eine gewisse Benachrichtigungsfunktion per E-Mail bietet, die auf der Definition von Entscheidungen basiert, ist es weder robust für andere Benachrichtigungen noch einfach zu definierende Entscheidungen. Ein Workload-Automation-Tool wie Control-M bietet mehrere Möglichkeiten, entweder Benachrichtigungen zu senden oder Aktionen auf Warnungen zu ergreifen. Das Versenden von Warnungen kann SNMP-Nachrichten, E-Mails mit angehängter Ausgabe oder Nachrichten an ein zentrales Benachrichtigungsfeld umfassen. Aktionen können das erneute Ausführen des Prozesses, das Ausführen eines Selbstheilungsprozesses, das Öffnen von Helpdesk-Tickets, das Posten der Abhängigkeit für einen anderen Job oder das Ausführen dieser Aktionen basierend auf einem bestimmten Fehlercode umfassen.
Die Abhängigkeitslogik ist nicht so robust
Im Gegensatz zu vielen Tools, die eine Planungsfunktion enthalten, bietet Oozie dem Entwickler die Möglichkeit, Flows zu erstellen, anstatt einen einzelnen Prozess zu planen. Es kann alle Hadoop-Jobs planen, umfasst aber auch Java-, SSH-, Streaming- und Shell-Script-Jobs. Mit Shell-Skripten kann der Entwickler jede Kommandozeilenintegration zu einem anderen Drittanbieterpaket ausführen. Was es nicht kann, ist direkte Verbindungen zu diesen Paketen wie Informatica, IBM Datastage oder anderen Tools herzustellen. Workload-Automatisierungstools wie Control-M bieten echte Integrationen, die mit einem Drittanbieter-Tool verbunden sind und diese Prozesse ausführen, überwachen und steuern. Es verfügt über eine robustere Dateiüberwachungsfunktion, um sicherzustellen, dass die Daten vor der Ausführung der Hadoop-Jobs empfangen werden. Es kann auch SQL-Skripte, Stored Procedures, SSIS- und SQL-Agent-Prozesse gegen mehrere Datenbanken ausführen, um Hadoop-Daten zu erhalten oder zu posten. Wichtiger ist, dass es sowohl Hadoop-Prozesse als auch externe Prozesse in einem einzigen koordinierten Dienst gruppieren kann. Dieser Dienst kann gemäß seinen Service Level Agreements verwaltet werden und Benachrichtigungen senden, wenn es zu spät oder problematisch wird. Er kann über mehrere Benutzeroberflächen, einschließlich Web- und mobilen Apps, angezeigt und überwacht werden. Abhängigkeiten können basierend auf verschiedenen Szenarien erstellt werden, einschließlich Dateien, abgeschlossenen Jobs oder sogar externer Prozesse, die darauf posten. Die Flows können zeitgesteuert, ereignisgesteuert oder beides sein. Sie können gleichzeitig oder einzelsträngig ausgeführt werden.
Hadoop ist kein eigenständiger Prozess
Hadoop-Entwickler konzentrieren sich auf ihre Big-Data-Prozesse und sind sich möglicherweise nicht mit anderen Anwendungen und Technologien vertraut, die IT-Betrieb verwalten muss. Sie betrachten den Prozess als abgeschlossen, wenn ihre Oozie-Flows abgeschlossen sind. In Wirklichkeit benötigen andere Teile des Unternehmens Ausgaben von Hadoop, um ihre Aufgaben zu erfüllen und ihre Systeme zu aktualisieren. Diejenigen Unternehmen, die Hadoop in Tools wie Control-M integrieren, haben Dienste entwickelt, die diese Nicht-Hadoop-Prozesse einbeziehen. In vielen Fällen müssen mehrere Jobs und Anwendungen Daten verarbeiten, bevor Hadoop seine Funktionen ausführen kann. Die Ausgaben von Hadoop werden ebenfalls an andere Systeme weitergeleitet, die alle vom Workload Automation-Tool überwacht und gesteuert werden. Da Warnungen und Benachrichtigungen für diese Nicht-Hadoop- und Hadoop-Prozesse eingerichtet wurden, ist der gesamte Fluss abgedeckt.
Dynamische Verarbeitung ist begrenzt
Die meisten Oozie-Flows werden auf Basis einer Zeit geplant oder mit einer Zeit zusammengefasst. Während das Entwicklungsteam Zugriff hat und Flows dynamisch ausführen kann, fehlt der Möglichkeit für externe Teams, dies zu tun. Mit einem Workload-Automation-Tool wie Control-M kann jedem Benutzer die Möglichkeit zur Verfügung stehen, seine Dienste und Jobs dynamisch ausführen, überwachen und steuern. Zusätzlich werden diese Services dann überwacht, ob sie zu spät kommen oder Fehler aufweisen, die eine rechtzeitige Fertigstellung verhindern würden.
Zusammenfassung
Obwohl Oozie mehr Funktionen und Optionen bietet als das traditionelle Planungstool, das in ein Drittanbieterprodukt integriert ist, fehlt es dennoch an vielen der erforderlichen Enterprise-Class-Funktionalitäten, auf die das gesamte Unternehmen letztlich angewiesen ist. Insbesondere im Vergleich zu den Funktionen fortschrittlicher Workload-Automatisierungstools wie Control-M. Viele Unternehmen bitten das Hadoop-Entwicklungsteam, mit den WA-Teams zusammenzuarbeiten und funktionale Flows in den passenden Tools zu erstellen.
BMCs vollständiger Leitfaden zu Hadoop
Diese Beiträge sind meine eigenen und spiegeln nicht unbedingt die Position, Strategien oder Meinung von BMC wider.