Konfiguration des Node Controllers

Konfigurationsdatei ./etc/startup.xml


images/download/attachments/21306067/media_1343634366712-version-4-modificationdate-1638849588643-api-v2.png


Wie bereits beschrieben, dient der Node Controller zur Verteilung der Aufgaben. Die Verteilung kann auf Basis zweier Verfahren erfolgen: "round robin" oder durch Lastfaktor. Bei "round robin" werden an alle vorhandenen Working Nodes abwechselnd neue Konvertierungsaufgaben verteilt. Bei Benutzung des Lastfaktors geschieht dies auf Grund der Auslastung der einzelnen Working Nodes - diese wird intern durch das Datenvolumen, die anstehenden Aufgaben und verfügbaren Working-Threads berechnet. Kann kein Working Node ermittelt werden, übernimmt der Node Controller die Aufgabe selber (weil z. B. noch gar kein Working Node verfügbar ist).


(1) Um überhaupt ein Load Balance-System zu erhalten, muss bei


<Call name="enableLoadBalance"><Arg type="boolean">true</Arg></Call>


der Wert auf true gesetzt werden.


(2) Soll "round robin" verwendet werden, steht in


<Call name="useLoadInformation"><Arg type="boolean">False</Arg></Call>


ein false, bei true wird der Lastfaktor zur Ermittlung herangezogen.


(3) Bevor eine Verteilung überhaupt stattfindet, kann man optional eine Anzahl von Jobs hinterlegen, die über den Node Controller abgearbeitet werden. Bei


<Set name="requestSize">0</Set>


wird sofort an verfügbare Working Nodes abdelegiert, mit z. B.


<Set name="requestSize">10</Set>


wird erst ab dem 11. aktiven, gleichzeitig laufenden Job abdelegiert. Man kann dies noch weiter einschränken, indem man die durchschnittliche Laufzeit (der Statistik) hinzunimmt und z. B. mit


<Set name="statisticThreshold">5000</Set>


nur Jobs mit einer Laufzeit kleiner 5000 ms in Betracht zieht. Hinweis: Dies kann zur Laufzeit im Control Center geändert werden!

Optional


(a) Werden zwei DMZ-Server betrieben oder ein zweiter Node Controller steht als Cold-Standby-System zur Verfügung, kann mit


<Set name="informDMZOfNewPeer">True</Set>


bestimmt werden, das beim Starten des Node Controllers der DMZ-Server auf die neu gestartete Instanz verweist. In diesem Fall werden noch alle offenen Übertragungen an den neuen Node Controller umgeleitet.


(b) Ist das ./conf-Verzeichnis nicht gemountet, können alle Veränderungen in ./conf und ./etc/admin/datawizard durch den Node Controller an die aktiven Clients weitergeleitet werden. Hierzu muss


<Set name="replicateFiles">True</Set>


eingestellt sein. Mit


<Set name="replicateAdminFiles">True</Set>


können alternativ nur Dateien unter ./etc/admin/datawizard repliziert werden.


(c) Tragen Sie alle Mitglieder des Load-Balance-Verbunds in der Konfigurationsdatei ./etc/admin/dazawizard/lb_nodes.properties ein (Format ist immer factory-id=IP-oder-Hostname:Port-MessageService). Diese Datei wird automatisch an alle Mitglieder verteilt und muss nur auf dem Node Controller gepflegt werden. Ist eine gültige Konfigurationsdatei vorhanden, werden alle dort hinterlegten (aktiven) Working Nodes informiert, das der soeben gestartet Node Controller als "aktiver" gilt und die Nodes schwenken auf ihn um.


(d) Wird Lastfaktor statt "round-robin" verwendet, und ist die Hardware der Working Nodes unterschiedlich, so kann z. B. mit


<Set name="performanceFactor">1.3</Set>


pro Working Node ein Korrekturfaktor hinterlegt werden, der einen Wert > 1 haben muss (dieser Wert wird mit dem akt. Lastfaktor multipliziert). Beispiel: Nehmen wir an wir hätten einen Working Node mit leistungsfähiger Hardware und einen anderen Working Node mit weniger leistungsfähiger Hardware und für beide Working Nodes wurde (ohne Berücksichtigung des Performancefaktors) der gleiche Lastfaktor berechnet. Nun geben wir dem Working Node mit der weniger leistungsfähigeren Hardware einen Performancefaktor von 1.3, womit dessen Lastfaktor multipliziert wird, d. h. er hat nun einen höheren Lastfaktor und neue Last würde deshalb an den Working Node mit der leistungsfähigeren Hardware verteilt werden.


Damit ist die Konfiguration des/der Node Controller(s) abgeschlossen.