Job Scheduler Erste Seite |
Ein Job Scheduler Cluster kann verwendet werden, um Aufträge auf mehreren Hosts zu verarbeiten. Dies kann zum Load Balancing genutzt werden, um Verarbeitungszeiten durch einsatz weiterer Hardware zu minimieren.
In einem Cluster zeigen alle Job Scheduler ihre Verfügbarkeit durch das Versenden von Herzschlägen an. Alle Job Scheduler prüfen, ob die jeweils anderen Job Scheduler verfügbar sind. Stellt ein Job Scheduler fest, dass vom anderen Scheduler die Herzschläge über einen längeren Zeitraum (ca. 1-2 Minuten) ausbleiben, so übernimmt dieser die Verarbeitung der angefangenen Aufträge.
Die Voraussetzungen für die Operation eines Scheduler Clusters für verteilte Aufträge sind schematisch in der folgende Zeichnung abgebildet, und werden im Detail in den nächsten Abschnitt beschreiben.
Verteilte Aufträge können während ihres Weges durch die Job-Kette von verschiedenen Job Schedulern verarbeitet werden. Die Übernahme der Verarbeitung eines Auftrags in einem anderen Job-Knoten durch einen anderen Job Scheduler ist schematisch in der folgende Zeichnung abgebildet:
-distributed-orders gestartet. Die Job Scheduler, die den Cluster bilden, werden in beliebiger Reihenfolge gestartet. Es können während der Laufzeit beliebig Scheduler entfernt oder hinzugefügt werden. Beim entfernen von Job Scheduler Instanzen, sollten diese, wenn möglich, normal beendet (Terminate) werden, damit sie die Möglichkeit haben, Aufträge zu beenden, die gerade verarbeitet werden.
Verteilte Aufträge können entweder per <add_order> Befehl oder per Verzeichnisüberwachung erzeugt werden.
Es kann entweder das XML-Kommando <add_order> oder die API-Funktion Job_chain.add_order() verwendet werden. Es ist dabei egal an welchen Job Scheduler das Kommando geschickt wird beziehungsweise auf welchem Job Scheduler der Befehl ausgeführt wird. Der Auftrag wird dem gesamten Cluster zur Verarbeitung bereitgestellt.
Verteilte Dateiaufträge werden per <file_order_source> in einer verteilten Job-Kette konfiguriert. Jeder Job Scheduler des Clusters überwacht das Verzeichnis und kann Dateiaufträge erstellen. Ein Dateiauftrag wird nicht notwendigerweise von dem Job Scheduler verarbeitet, der ihn erstellt hat.
Eigenständige Jobs, die keine Aufträge verarbeiten, werden in einem Scheduler Cluster von dem Job Scheduler ausgeführt, in dem sie konfiguriert werden.
Zuletzt geändert von al, 2007-03-20 |