Cluster-Manager
Die Nutzung des Cluster-Managers ist lizenzpflichtig. Für jede INUBIT-Instanz innerhalb eines Clusters muss eine separate Lizenz erworben werden. |
Verwendung
Mit dem Virtimo Cluster-Manager besteht die Möglichkeit, mehrere INUBIT-Instanzen zu einem Cluster zusammenzuführen, zur Laufzeit neue Instanzen hinzuzufügen bzw. herauszunehmen.
Damit kann z.B. eine hohe Verfügbarkeit eines INUBIT-Systems erreicht oder gezielt auf hohe Lastaufkommen reagiert werden.
Voraussetzungen
Zur vollständigen Umsetzung eines geclusterten Systems sind folgende Bestandteile notwendig:
-
INUBIT-Instanzen: mindestens 2 INUBIT-Installationen inklusive Lizenz für die Nutzung des Cluster-Managers
-
Netzwerkinfrastruktur: INUBIT-Instanzen müssen via Multicast untereinander kommunizieren können
-
Load-Balancer: zur Verteilung der eingehenden Anfragen an die INUBIT-Instanzen des Clusters
Der Cluster-Manager steuert, welche Knoten dem Cluster angehören und wer der aktuelle Master ist. Der Load-Balancer kümmert sich um die Verteilung der eingehenden Anfragen an die einzelnen INUBIT-Instanzen des Clusters.
Diese Trennung der Verantwortlichkeiten muss bei der Konfiguration mit berücksichtigt werden.
Multicast
Die Clusterbildung basiert auf Multicast, einem speziellen Netzwerk-Adressbereich und -Port. Alle Knoten, für die dieselbe Multicast-Adresse und -Port konfiguriert sind, fügen sich zu einem Cluster zusammen.
Architektur
Ein Cluster besteht immer aus einem Master-Knoten und beliebig vielen Backup-Knoten. Sollen INUBIT-Instanzen in einem Cluster zusammenarbeiten, muss dies bei Implementierung der Technical Workflows berücksichtigt werden.
Master-Knoten
Der Master-Knoten übernimmt dabei alle Aufgaben, die innerhalb des Systems fachlich auf nur einem einzelnen Knoten ausgeführt werden sollen, z.B. geschedulte Workflows.
Backup-Knoten
Alle Knoten (Master und Backup) übernehmen die Aufgaben, die fachlich parallel ausgeführt werden können.
Die Prüfung, ob die aktuelle INUBIT-Instanz ein Master- oder Backup-Knoten ist, erfolgt mithilfe eines zusätzlichen Workflows.
Applikationsstatus
Der Cluster-Manager läuft zusätzlich auf jeder INUBIT-Instanz und prüft selbstständig in regelmäßigen Abständen, ob die Instanz noch verfügbar ist. Sollte der INUBIT nicht mehr erreichbar sein, wird die Instanz im Cluster abgemeldet. Eine Abmeldung im Load-Balancer ist keine Aufgabe des Cluster-Managers.
Folgende INUBIT REST-API Endpunkte bieten sich zur Prüfung des Status an:
Konfiguration
Aktivierung des Cluster-Managers
Über die Datei <inubit-installdir>/inubit/server/ibis_root/conf/ibis.xml
kann der Cluster-Manager aktiviert werden:
<Properties>
...
<!-- Cluster Manager configuration -->
<Property name="ActivateClusterManager" type="Boolean">false</Property>
</Properties>
-
Process Engine stoppen
-
Property
ActivateClusterManager
auftrue
setzen -
Process Engine starten
Konfiguration des Cluster-Managers
Die eigentlichen Konfigurationsdetails für den Cluster-Manager werden über die Datei <inubit-installdir>/inubit/server/ibis_root/conf/clustermanager/clusterManagerConfig.xml
gesteuert.
Hier werden alle für Netzwerkkommunikation notwendigen Einstellungen gemacht.
Alle möglichen Konfigurationsoptionen sind in der Datei dokumentiert.
Migration einer bestehenden Konfiguration des nicht-integrierten Cluster-Managers
Wenn Sie bereits den Virtimo Cluster-Manager in der nicht-integrierten Variante nutzen, können Sie ihre bisherige Konfigurationsdatei weiterverwenden. Gehen Sie wie folgt vor:
-
Process Engine stoppen
-
Legen Sie die bisherige Konfiguration unter
<inubit-installdir>/inubit/server/ibis_root/conf/clustermanager/inubitClusterManager.conf
ab -
Entfernen Sie die Datei
<inubit-installdir>/inubit/server/ibis_root/conf/clustermanager/clusterManagerConfig.xml
-
Starten Sie die Process Engine
Ihre bisherige Konfiguration wird eingelesen und als <inubit-installdir>/inubit/server/ibis_root/conf/clustermanager/clusterManagerConfig.xml
ins Dateisystem zurückgeschrieben.
Von nun an nutzen Sie nur noch die Datei clusterManagerConfig.xml
.
Ihre bisherige Konfigurationsdatei können Sie aus dem Dateisystem entfernen.
Festlegung des Master-Knotens
Über die Einstellung priority
wird festgelegt, welcher Knoten als Master im Cluster aktiv sein soll.
Legen Sie für genau einer Instanz in der Konfiguration den höchsten Integerwert fest.
Sobald diese Instanz dem Cluster beitritt, wird sie als Master gesetzt.
Sollte der Master ausfallen, wird anhand der Priorität der übrigen Instanzen ein neuer Master gewählt. Dies ist die Instanz mit der dann aktuell höchsten Priorität.
Konfigurieren Sie für jede INUIBT-Instanz im Cluster eine andere Priorität. Damit lässt sich die Wahl des Master-Knotens am sichersten steuern. |
Prüfung auf den Master-Knoten
Auf der Instanz, die als Master aktiv ist, wird eine Datei im Dateisystem abgelegt. Der Pfad zur Ablage kann über die Konfiguration angepasst werden. Ein zusätzlicher Workflow prüft das Vorhandensein dieser Datei. Darüber kann zur Laufzeit ermittelt werden, ob die jeweilige INUBIT-Instanz der Master-Knoten ist oder nicht.
Den Workflow finden Sie unter: <inubit-installdir>/inubit/server/ibis_root/conf/clustermanager/inubit-cluster-manager-workflow.zip
.
Benutzerdefiniertes Logging aktivieren
Um die Logausgaben des Cluster-Managers in eine separate Datei umzuleiten, gehen Sie wie folgt vor:
-
Melden Sie sich mit einer Workbench an
-
Gehen Sie zur Registerkarte Administrator und wählen Sie Allgemeine Einstellungen
-
Navigieren Sie in der Baumstruktur zu Logging > Trace
-
Wählen Sie im rechten Seitenbereich Individuelles Server-Trace aus und klicken Sie auf die Schaltfläche "…".
-
Der Logger-Dialog wird geöffnet
-
Klicken Sie mit der rechten Maustaste, um das Kontextmenü zu öffnen und wählen Sie Hinzufügen
-
Geben Sie den Namen
de.virtimo.inubit.clustermanager
ein, wählen Sie "Rotierende Datei-Ausgabe" und klicken Sie auf OK -
Wenn Sie den Namen der Protokolldatei aktualisieren möchten, wählen Sie den neu hinzugefügten Eintrag in der Tabelle aus und klicken Sie auf die Schaltfläche "…".
-
Wählen Sie "Ausgabedatei" und passen Sie den Wert auf etwa
$ibis.root.directory$/log/clustermanager.log
an -
Schließen Sie den Dialog "Rotierende Dateiausgabe" mit OK
-
Schließen Sie den Dialog "Logger" mit OK
-
Speichern Sie die allgemeinen Einstellungen, indem Sie auf das Speichern-Symbol in der globalen Symbolleiste klicken