Freitag, 16. März 2012

Weblogic Cluster: OHS 11.1.1.6 installieren

Um ein Loadbalancing zwischen den beiden Managed Servern im Weblogic Cluster aufzusetzen kann der Oracle HTTP Server (OHS), eine von Oracle supportete Version des Apache, genutzt werden. Dieser ist standardmässig nicht im Lieferumfang des WebLogic Servers enthalten und muss nachinstalliert werden. Gestartet wird der Installer über setup.exe bzw. setup.sh von Disk1 des Installationspacketes.
Weiter ...
Für die Entwicklungsumgebung können die Softwareupdates übersprungen werden.
Installieren und konfigurieren
Systemvoraussetzungen überprüfen
Als Installationsverzeichnis das bestehende WLS 11.1.1.6 Home auswählen
 Die Sicherheitsupdates können abgeschaltet werden
Der Web Cache wird für dieses Beispiel nicht benötigt
Der Management Server der Domain wird hier konfiguriert
Die Instanz bekommt hier einen eindeutigen Namen
Automatische Port-Konfiguration ist OK.
Zusammenfassung und 'Installieren' klicken.
Weiter ...
und Fertig stellen.
Das Ergebnis kann mit dem opmn überprüft werden. Hierzu muss das opmnctl aus der gerade angelegten Instanz benutzt werden. Also in diesem Fall d:\Oracle\Middleware.11116\Oracle_WT11116\instances\instance1\bin\opmnctl status

Damit läuft der Oracle HTTP Server. Im nächsten Schritt muss nur noch das Loadbalancing konfiguriert werden.

Mittwoch, 14. März 2012

Servlet aus JDeveloper in Weblogic Cluster deployen

In den vorigen HowTo's wurde das Servlet erstellt und der Cluster aufgesetzt. Zum Deployment wird das Projekt mit dem Servlet wieder im JDeveloper geöffnet.
Die Konfiguration der Session Replication erfolgt im proprietären Deployment Descriptor des jeweiligen Application Servers. Für den Weblogic Server erfolgt dies in der weblogic.xml.
Diese wird erstellt per Rechtsklick auf das Projekt und Auswahl von 'New...'
Auswahl von General|Deployment Descriptors|WebLogic Deployment Descriptor ...
weblogic.xml auswählen ...
die neuste angebotene Version nehmen ...
der dritte Schritt wird automatisch übersprungen, in der Zusammenfassung 'Finish' auswählen. Die neue weblogic.xml öffnet sich automatisch.
Im Editor für die weblogic.xml unter 'Session' den Abschnitt 'Persisten Store' öffnen und als 'Store Type' REPLICATED_IF_CLUSTERED auswählen um die Session Replication zu aktivieren.
Das Ergebnis kann überprüft werden, wenn man unten im Editor für die weblogic.xml per Tab-Reiter von 'Overview' auf 'Source' umstellt. Die weblogic.xml kann danach gespeichert und geschlossen werden.

Das Servlet ist damit fertig konfiguriert, im nächsten Schritt wird das eigentliche Deployment durchgeführt.
Hierzu wieder per Rechtsklick auf das Projekt das Popup-Menü öffnen und dieses Mal 'Deploy' auswählen. Weil noch kein Deployment Profile vorhanden ist, kann dort nur die Option 'New Deployment Profile...' ausgewählt werden.
Als 'Profile Type' wird hier 'WAR File' gewählt und ein Name kann vergeben werden, z.B. clusterapp und mit OK schliessen.
Hier sollte die Context Root auf etwas handlicheres gesetzt werden, wie hier z.B. clusterapp. Dann mit OK beenden.
Bei erneuter Auswahl von 'Deploy' lässt sich jetzt das soeben eingerichtete Profil auswählen.
Die Anwendung soll auf einen Application Server deployed werden.
Allerdings sollte noch keiner eingerichtet sein. Diesen bekommt man per Klick auf das grüne Plus-Zeichen (Add an Application Server)
Die Verbindung bekommt einen Namen (hier: WLcluster) und als Connection Type wird die höchste angebotene WebLogic Version ausgewählt (bei JDeveloper 11.1.2.1.0 ist es WebLogic 10.3).
Benutzername und Password werden benötigt.
Hier muss vor allem die Domain geändert werden, der Rest kann bei einer Standardinstallation so bleiben.
Sicherheitshalber sollte die Verbindung getestet werden.
Und 'Finish'.
Danach wird der Server als mögliches Ziel angeboten und kann hier ausgewählt werden.
Der JDeveloper erkennt den Cluster. Bei der Auswahl der Ziele sollte auf 'Deploy to selected instances in the Domain' umgestellt werden und in der Auswahlbox nur der Cluster gewählt werden.
Zusammenfassung und 'Finish'
Wenn unten im Log 'Deployment finished' erscheint, hat alles geklappt (ggf. auf den Deployment-Tab umschalten).
Zum testen kann man mit zwei verschiedenen Browsern die URL auf den beiden Ports für die beiden Managed Server im Cluster aufrufen, z.B. http://localhost:7004/clusterapp/cluster.
In beiden Browser-Fenstern kann man jetzt in jeweils eigenen Sessions die Zähler erhöhen.
In den beiden Fenstern der Managed Server lassen sich die Aufrufe nachverfolgen.

Damit ist die Anwendung im Cluster verteilt, im nächsten Schritt geht es darum, hierfür den Loadbalancer aufzusetzen.


Freitag, 13. Januar 2012

Cluster Setup für Weblogic 12c

Da zwischenzeitig der Weblogic 12c erschienen ist, hier das Beispiel-Setup für die clustered Domain noch mal auf Basis WLS 12.1.1.0

In diesem Beispiel soll ein einfaches Servlet über den WebLogic Server geclustert werden. Im ersten Schritt wird hierzu eine neue Domain benötigt, alternativ kann natürlich auch eine bestehende Domain geändert werden.

Unter Windows findet man den Domain Konfigurationsassistenten auch im Startmenü, ansonsten wird er gestartet über config.exe bzw. config.sh.

Hier auswählen, ob eine bestehende Domain geändert, oder eine neue erzeugt werden soll.
 Alles auf Standardwerten belassen.
Domain-Name auswählen und weiter ...
Password festlegen...
und JDK auswählen,
Hier die 'Managed Servers, Clusters und Machines' als Optionale Konfiguration wählen.
Zwei managed Server über den Button 'Hinzufügen' eintragen, ggf. den Namen noch ändern.
Hier wird jetzt der Cluster über den Button 'Hinzufügen'angelegt.
Im linken Bereich unter 'Server' werden die beiden Managed Server ausgewählt und mit dem Pfeil nach rechts auf die rechte Seite unter Cluster bewegt.
Jetzt kann noch ein Rechner konfiguriert werden, falls man den Nodemanager benutzen möchte. Für dieses Beispiel ist das aber nicht notwendig.
Ggf. noch die Server dem Rechner hinzufügen
Zusammenfassung und ...
Fertig.
Der Admin-Server wird aus dem Hauptverzeichnis der Domain gestartet mit startWebLogic.cmd bzw. .sh.
Warten bis der Server gestartet ist
Login beim Admin-Server (default: http://localhost:7001/console)
Hier werden die Managed Server angezeigt unter base_domain/Environment/Servers.
Um nicht bei jedem Start der Managed Server Benutzername und Password anzugeben, kann jeweils eine boot.properties Datei im jeweiligen Verzeichnis der beiden Managed Server angelegt werden.
Diese Datei enthält lediglich die Einträge (ggf. anpassen) und wird bei der ersten Benutzung verschlüsselt.

username=weblogic
password=welcome1

Das Verzeichnis ist in diesem Beispiel

D:\Oracle\Middleware.1211\user_projects\domains\cluster_domain\servers\ManagedServer_1\security

Das Unterverzeichnis 'security' muss erstellt werden, wenn nicht schon vorhanden.


Die beiden Managed Server werden jeweils aus dem bin-Verzeichnis der Domain gestartet mit startManagedWeblogic.cmd ManagedServer_1 bzw. _2.


Die beiden hochgefahrenen Server werden dann auch entsprechend in der Admin-Console angezeigt. Ggf. hierzu auf den kleinen Kreis aus Pfeilen klicken zum Aktualisieren.

Damit läuft der Cluster und die Anwendung kann deployed werden.