Im Rahmen eines Kundenprojekts stellte sich die Frage nach der richtigen Konfiguration eines Oracle Coherence Cluster im Rahmen einer SOA Suite Konfiguration. Die Domänen wurden mit Hilfe des Configuration Wizards (config.sh) erstellt. Der SOA Cluster bestand aus 2 Servern auf denen 2 Domänen installiert werden sollten. Jede Domäne bestand aus 2 Managed Servern. Weiterhin gab es auf den Servern viele verschiedene IP Adressen pro Netzwerkinterface. Grund für die Anzahl der IPs war, dass das Betriebsystem für eine Whole Server Migration vorbereitet war. (siehe Enterprise Deployment Guide).

Übersicht

Da mehr als eine Domäne pro Server installiert werden sollte, und es pro Domäne zusätzlich den UMS Server gab, war es notwendig die Ports des Coherence Cluster gezielt vorzugeben. Zusätzlich wurden für beide Managed Server ein eigener Coherence Cluster initialisiert.

Hier die Vorgaben:

Coherence Port Machine names
SOACoherenceCluster 35920 server01, server02
UMSCoherenceCluster 35930 server01, server02

Konfiguration

Weblogic Console

Zu Beginn müssen die Ports für den Cluster konfiguriert werden. Dies findet man unter Weblogic Console -> Coherence Cluster. In diesem Beispiel muss eine unicast Konfiguration auf TCP Ebene stattfinden. Dies ist bei den meisten Konfiguration, die über Rechenzentrumsabschnitte verteilt sind, notwendig.

m_fuchs_01_2017_coherence_part

Coherence Cluster Konfiguration

Im nächsten Schritt müssen die Managed Server dem Cluster zugewiesen werden. Dies erfolgt unter Weblogic Console -> Managed Server. In diesem Beispiel ist es interessant, welche Unicast Listen Adresse verwendet wird. Ziel war es die einzelnen IP Adressen zu verwenden, was aber nicht funktioniert hat, da der Coherence Cluster sich immer auf das Interface der Netzwerkkarte bindet. Dadurch wird als Listen Addresse die primäre Adresse des entsprechenden Netzwerkadapters angegeben. Die Portangabe 0 bedeutet, das die Angaben aus der Cluster Config übernommen werden.

m_fuchs_01_2017_managed_server_coherence

Coherence Konfiguration Managed Server

Im letzten Schritt muss beachtet werden, dass die Member Targets in der Konfiguration Weblogic Console – > Coherence Cluster richtig gesetzt sind. Hier ist pro Managed Server Typ ein Coherence Cluster erstellt worden.

m_fuchs_01_2017_member_coherence

Member Coherence Cluster

Coherence im Linux

Nach dem Restart des kompletten Clusters kann man die Konfiguration auf Linux Ebene überprüfen, ob die richtigen Ports verwendet wurden. Pro entsprechendem Java Prozess sollte ien Port verwendet werden. Wichtig ist, das bei der Neuerstellung des Coherence Cluster alle Managed Server geleichzeitig beendet werden und danach erst neu gestartet werden.

 Zusammenfassung

Problematisch in diesem Beispiel waren die vielen IP Adressen und der Versuch den Cluster auf eine dedizierte IP Adresse zu binden. Das hat nicht funktiert und eine Konfiguration des Coherence Clusters auf dedizierte Ports hat sich als bessere Alternative herrausgestellt. Ebenso kann ein einzelnes durchstarten von Managed Servern nacheinander, nach Änderung der Coherence Konfiguration, zu intressanten Konstellationen führen. Die Konfiguration des Coherence Cluster wird in diesem Fall nie neu geladen und Änderungen werden nicht sichtbar.