Liberty-Verbund konfigurieren
Sie können Liberty-Server in Verbünden organisieren, um Cluster-, Verwaltungs- und andere Operationen zu unterstützen, die für mehrere Liberty-Server ausgeführt werden. Die Verwendungen von Verbünden ermöglicht eine effiziente und präzise Bereitstellung von Anwendungsservices für Ihre Anwendung.
Vorbereitende Schritte
Installieren Sie Liberty mit den Verwaltungsfeatures. Installationsanweisungen finden Sie unter "Vorbereitende Schritte" im Abschnitt Server-Management-Umgebung für Liberty mithilfe von Verbünden einrichten. Die Liberty-Verwaltungsfeatures stellen Management-Features für Verbünde, Cluster, Skalierung, dynamisches Routing und Admin Center für das Management mehrerer Server bereit.
Informationen zu diesem Vorgang
Ein Liberty-Verbund ist eine Gruppe von Liberty-Servern, die in derselben Verwaltungs- und Betriebsdomäne konfiguriert sind.
Konfigurations- und Statusdaten zu einem Liberty-Verbund werden in einem aktiven Betriebsrepository gespeichert.
Die Zugehörigkeit zu einem Liberty-Verbund ist optional. Liberty-Server können einem Verbund durch Registrierung an einem Verbundcontroller beitreten. Member geben Informationen über sich über das Betriebsrepository des Controllers weiter.
- Ein Liberty-Server kann nur Member eines einzigen Verbunds sein.
- Verschiedene Liberty-Server auf demselben Host können zu verschiedenen Verbünden gehören.
- Liberty-Server auf demselben Host, die Member eines Verbunds sind, können mit Liberty-Servern koexistieren, die nicht zu einem Verbund gehören.
- Alle Member eines Verbunds müssen zu demselben Rechenzentrum gehören. Ein Verbund darf sich nicht über Rechenzentren hinweg ausdehnen.
Hinweis: Das Video Video: Introduction to creating a collective veranschaulicht die Prozedur. Dieses Video sowie weitere Informationen zu Verbunden finden Sie auf der
auf der WASdev-Website. [Transkript]
Vorgehensweise
- Erstellen und konfigurieren Sie Ihren Controller.
- Erstellen Sie einen Server, der als Verbundcontroller agiert.
wlp/bin/server create myController
- Erstellen Sie eine Verbundcontrollerkonfiguration.
Die Verbundcontrollerkonfiguration besteht hauptsächlich aus der Sicherheitskonfiguration der Verwaltungsdomäne, die für die Kommunikation zwischen Controllern und Membern verwendet wird.
wlp/bin/collective create myController --keystorePassword=controllerKSPassword
Dieser Verbundbefehl gibt standardmäßig die gesamte Ausgabe in eine Anzeige auf der Konsole aus. Im nächsten Schritt kopieren Sie die Konfigurationsausgabe in die Datei server.xml. Wenn Sie die Konfiguration in eine Datei und nicht in der Konsolanzeige ausgeben möchten, geben Sie den Parameter --createConfigFile=Pfad_der_Ausgabedatei an, z. B.:
Nachdem Sie den Befehl create ausgeführt haben, wird die zu verwendende Anweisung include angezeigt. Wenn Sie die Ausgabedatei in die Verbundkonfiguration aufnehmen möchten, fügen Sie die Anweisung include der Datei server.xml hinzu. Beispiel:wlp/bin/collective create myController --keystorePassword=controllerKSPassword --createConfigFile=c:/wlp/usr/servers/myController/collective-create-include.xml
<include location="c:\wlp\usr\servers\myController\collective-create-include.xml" />
- Aktualisieren Sie die Datei server.xml des Verbundcontrollers.
- Kopieren Sie die Ausgabe und fügen Sie sie ein.
Wenn der Befehl die Ausgabe in einer Anzeige auf der Konsole ausgegeben hat, führen Sie die folgenden Schritte aus.
- Kopieren Sie die Ausgabe des Verbundbefehls und fügen Sie sie in der Datei server.xml ein.
- Geben Sie Benutzer-ID mit Administratorberechtigung und die Kennwortwerte für den Verbund an. Ändern Sie beispielsweise
in:<quickStartSecurity userName="" userPassword="" />
<quickStartSecurity userName="adminUser" userPassword="adminPassword" />
Der Standardpfad für die Verbundcontrollerdatei server.xml ist ${wlp.install.dir}/usr/servers/myController/server.xml. Ist die Variable $WLP_USER_DIR in einer Datei server.env oder einem Befehlsfenster gesetzt, ist der Pfad $WLP_USER_DIR/servers/myController/server.xml. Nach der Bearbeitung ähnelt die Datei dem nachfolgenden Beispiel:<server description="controller server"> <!-- Features aktivieren --> <featureManager> <feature>jsp-2.2</feature> </featureManager> <httpEndpoint id="defaultHttpEndpoint" host="*" httpPort="9080" httpsPort="9443" /> <featureManager> <feature>collectiveController-1.0</feature> </featureManager> <!-- Hostnamen definieren, den der Verbund verwenden soll. Wenn der Hostname geändert werden muss, muss der Server aus dem Verbund entfernt und dann erneut aufgenommen oder erneut repliziert werden. --> <variable name="defaultHostName" value="Hostname_des_Controllers" /> <!-- Unerledigte Aufgabe: Sicherheitskonfiguration für Verwaltungszugriff festlegen --> <quickStartSecurity userName="adminUser" userPassword="adminPassword" /> <!-- clientAuthenticationSupported festgelegt, um bidirektionale Vertrauensbeziehung herzustellen --> <ssl id="defaultSSLConfig" keyStoreRef="defaultKeyStore" trustStoreRef="defaultTrustStore" clientAuthenticationSupported="true" /> <!-- eingehender (HTTPS) Keystore --> <keyStore id="defaultKeyStore" password="Ihr_Kennwort" location="${server.config.dir}/resources/security/key.jks" /> <!-- eingehender (HTTPS) Truststore --> <keyStore id="defaultTrustStore" password="Ihr_Kennwort" location="${server.config.dir}/resources/security/trust.jks" /> <!-- Server-ID-Keystore --> <keyStore id="serverIdentity" password="Ihr_Kennwort" location="${server.config.dir}/resources/collective/serverIdentity.jks" /> <!-- Verbundtruststore --> <keyStore id="collectiveTrust" password="Ihr_Kennwort" location="${server.config.dir}/resources/collective/collectiveTrust.jks" /> <!-- Stammunterzeichnerkeystore des Verbunds --> <keyStore id="collectiveRootKeys" password="Ihr_Kennwort" location="${server.config.dir}/resources/collective/rootKeys.jks" /> </server>
- Fügen Sie eine include-Anweisung
hinzu. Wenn die Ausgabe mit dem Parameter --createConfigFile=Pfad_zur_Ausgabedatei in eine Datei geschrieben wurde, fügen Sie der Datei $WLP_USER_DIR/servers/myController/server.xml eine include-Anweisung hinzu, um die Ausgabedatei in die Verbundkonfiguration aufzunehmen. Nach der Bearbeitung ähnelt die Datei dem folgenden Beispiel:
<server description="controller server"> <!-- Features aktivieren --> <featureManager> <feature>jsp-2.2</feature> </featureManager> <httpEndpoint id="defaultHttpEndpoint" host="*" httpPort="9080" httpsPort="9443" /> <include location="c:\wlp\usr\servers\myController\collective-create-include.xml" /> </server>
Stellen Sie sicher, dass in der Ausgabedatei die Benutzer-ID mit Administratorberechtigung und die Kennwortwerte für den Verbund definiert sind. Beispiel:<quickStartSecurity userName="adminUser" userPassword="adminPassword" />
- Kopieren Sie die Ausgabe und fügen Sie sie ein.
- Starten Sie den Verbundcontroller-Server.
wlp/bin/server start myController
Abbildung 1. Zugehörigkeit zu einem einzigen Verbund - Stellen Sie sicher, dass der Verbundcontroller-Server ordnungsgemäß gestartet wurde und bereit ist, Member zu empfangen.
- Öffnen Sie die Nachrichtenprotokolldatei $WLP_USER_DIR/servers/myController/logs/messages.log des Verbundcontrollers in einem Editor.
- Suchen Sie nach der folgenden Nachricht:
CWWKX9003I: Die MBean CollectiveRegistration ist verfügbar.
- Erstellen Sie einen Server, der als Verbundcontroller agiert.
- Erstellen und konfigurieren Sie ein Member, das mit dem Verbund verknüpft wird.
Der Controller und die Member können sich auf getrennten Hosts befinden. In diesem Beispiel befinden sich der Controller und die Member auf demselben Host.
- Erstellen Sie einen Member-Server.
wlp/bin/server create myMember
- Fügen Sie das Member dem Verbund hinzu.
Führen Sie den Verbundbefehl join aus, damit der Server als Member mit dem Verbund verknüpft wird. Führen Sie den Befehl join von der Liberty-Installation auf dem Member-Host aus.
Der Befehl join erfordert eine Netzverbindung zum Verbundcontroller, eine Benutzer-ID mit Administratorberechtigung und ein Kennwort für die Ausführung der MBean-Operaitonen auf dem Controller. Suchen Sie in der Datei server.xml des Verbundcontrollers nach den Werten für die Parameter --host, --port, --user und --password. Definieren Sie für --keystorePassword ein Member-Keystore-Kennwort wie beispielsweise memberKSPassword. Sie können für jeden Server, der mit dem Verbund verknüpft wird, andere Werte für --keystorePassword angeben.
wlp/bin/collective join myMember --host=Hostname_des_Controllers --port=9443 --user=adminUser --password=adminPassword --keystorePassword=memberKSPassword
Der optionale Parameter --hostname gibt den Hostnamen an, der für das System verwendet werden soll. Verwenden Sie den Parameter --hostname nur, wenn das System mehrere Hostnamen hat oder keiner der Hostnamen konfiguriert ist. Wenn Sie den Parameter setzen, muss der Wert der Variablen defaultHostName mit dem in der Datei server.xml definierten Wert übereinstimmen.
Wenn Sie die Anzahl der erforderlichen Optionen verringern möchten, verwenden Sie die Option --controller anstelle der Optionen --user, --password, --host und --port.
wlp/bin/collective join myMember --controller=Benutzer[:Kennwort]@Host:Https-Port --keystorePassword=memberKSPassword
Sie können Implementierungsvariablen mit dem optionalen Parameter genDeployVariable angeben. Weitere Informationen finden Sie im Artikel Implementierungsvariablen beim Einbinden eines Member-Servers in einen Verbund generieren.
Wenn Sie die Ausgabe dieses Verbundbefehls in eine Datei schreiben möchten, anstatt sie in einer Konsolenanzeige auszugeben, geben Sie den optionalen Parameter --createConfigFile=Pfad_der_Ausgabedatei an. Nehmen Sie anschließend die Ausgabedatei in die Verbundkonfiguration auf, indem Sie der Memberdatei server.xml eine Anweisung include hinzufügen:<include location=Pfad_zur_Ausgabedatei />
Standardmäßig werden bei der Operation join RPC-Berechtigungsnachweise (Remote Procedure Call) nicht definiert. Sie müssen daher Werte für rpcUser und rpcUserPassword sowie den Benutzer und das Kennwort für die Betriebssystemanmeldung an dem Host angeben, auf dem sich der Member-Server befindet. Wenn der Member-Host im Verbundcontroller registriert und der Member-Host nicht für SSH konfiguriert ist, geben Sie den optionalen Parameter --useHostCredentials an, damit das Member die RPC-Berechtigungsnachweise aus der zugehörigen Hostregistrierung des Controllers übernehmen kann. Linux-Hosts sind gewöhnlich für SSH konfiguriert, Windows-Hosts aber nicht. Daher ist der Parameter --useHostCredentials für Windows-Member-Hosts nützlich. Mit der Angabe von --useHostCredentials wird <hostAuthInfo useHostCredentials="true" /> der Memberdatei server.xml hinzugefügt. Sie können die Serverbefehle des Verbundmembers wie beispielsweise start und stop ausführen, ohne RPC-Berechtigungsnachweise angeben zu müssen, da das Member die Berechtigungsnachweise vom zugehörigen Host übernimmt. Weitere Informationen zu hostAuthInfo, dem Parameter --useHostCredentials und darüber, wie Sie eine Verbindung vom Verbundcontroller zum Server herstellen, finden Sie unter Liberty-Server-Host-Informationen überschreiben. Weitere Informationen zur Aktivierung von SSH auf Ihrem Host-Computer finden Sie unter RXA für Operationen des Liberty-Verbunds einrichten.
Weitere Informationen zu diesen erforderlichen Parametern und zu weiteren optionalen Parametern erhalten Sie, wenn Sie in der Befehlszeile den Befehl collective help join ausführen.
- Wenn Sie aufgefordert werden, die Zertifizierungskette zu akzeptieren, geben Sie y ein.
- Aktualisieren Sie die Memberdatei server.xml.
- Kopieren Sie die Ausgabe und fügen Sie sie ein.
Wenn der Befehl die Ausgabe in einer Anzeige auf der Konsole ausgegeben hat, führen Sie die folgenden Schritte aus:
- Kopieren Sie die Ausgabe des Verbundbefehls und fügen Sie sie in der Memberdatei server.xml ein.
- Ändern Sie die Ports so, dass der Server die zugehörigen HTTP-Ports öffnen kann. Stellen Sie sicher, dass die Memberdatei server.xml eindeutige HTTP-Portnummern auf dem zugehörigen Host definiert. Wenn sich beispielsweise das Member auf demselben Host wie der Verbundcontroller befindet, ändern Sie die HTTP-Portnummern:
Wenn Sie optional von einem fernen Client auf den Member-Server zugreifen möchten, geben Sie im Element httpEndpoint host="*" an.<httpEndpoint id="defaultHttpEndpoint" httpPort="9081" httpsPort="9444" />
Nach der Bearbeitung ähnelt die Datei $WLP_USER_DIR/servers/myMember/server.xml dem folgenden Beispiel:<server description="member server"> <!-- Features aktivieren --> <featureManager> <feature>jsp-2.2</feature> </featureManager> <httpEndpoint id="defaultHttpEndpoint" host="*" httpPort="9081" httpsPort="9444" /> <featureManager> <feature>collectiveMember-1.0</feature> </featureManager> <!-- Hostnamen definieren, den der Verbund verwenden soll. Wenn der Hostname geändert werden muss, muss der Server aus dem Verbund entfernt und dann erneut aufgenommen oder erneut repliziert werden. --> <variable name="defaultHostName" value="Hostname_des_Members" /> <!-- Authentifizierungskonfiguration des fernen Hosts --> <hostAuthInfo rpcUser="Administrator-ID" rpcUserPassword="Administratorkennwort" /> <!-- Verbindung zum Verbundcontroller --> <collectiveMember controllerHost="Hostname_des_Controllers" controllerPort="9443" /> <!-- clientAuthenticationSupported festgelegt, um bidirektionale Vertrauensbeziehung herzustellen --> <ssl id="defaultSSLConfig" keyStoreRef="defaultKeyStore" trustStoreRef="defaultTrustStore" clientAuthenticationSupported="true" /> <!-- eingehender (HTTPS) Keystore --> <keyStore id="defaultKeyStore" password="Ihr_Kennwort" location="${server.config.dir}/resources/security/key.jks" /> <!-- eingehender (HTTPS) Truststore --> <keyStore id="defaultTrustStore" password="Ihr_Kennwort" location="${server.config.dir}/resources/security/trust.jks" /> <!-- Server-ID-Keystore --> <keyStore id="serverIdentity" password="Ihr_Kennwort" location="${server.config.dir}/resources/collective/serverIdentity.jks" /> <!-- Verbundtruststore --> <keyStore id="collectiveTrust" password="Ihr_Kennwort" location="${server.config.dir}/resources/collective/collectiveTrust.jks" /> </server>
- Fügen Sie eine include-Anweisung
hinzu. Wenn die Ausgabe mit dem Parameter --createConfigFile=Pfad_zur_Ausgabedatei in eine Datei geschrieben wurde, fügen Sie der Datei $WLP_USER_DIR/servers/myMember/server.xml eine Anweisung include hinzu, um die Ausgabedatei einzuschließen. Beispiel:
<server description="member server"> <!-- Features aktivieren --> <featureManager> <feature>jsp-2.2</feature> </featureManager> <httpEndpoint id="defaultHttpEndpoint" host="*" httpPort="9081" httpsPort="9444" /> <include location="c:\wlp\usr\servers\myMember\collective-join-include.xml" /> </server>
- Kopieren Sie die Ausgabe und fügen Sie sie ein.
- Wenn Sie --useHostCredentials nicht im Befehl join angegeben haben und der Member-Host nicht für SSH konfiguriert ist,
setzen Sie die RPC-Berechtigungsnachweise für hostAuthInfo in der Memberdatei server.xml oder in der ausgegebenen Datei. Es gibt zwei Möglichkeiten, RPC-Berechtigungsnachweise für den Member-Server zu definieren:
- Legen Sie für hostAuthInfo RPC-Benutzer- und Kennwortwerte fest. Legen Sie für rpcUser eine Benutzer-ID für eine Betriebssystemanmeldung für den Host fest, auf dem sich der Member-Server befindet, und legen Sie für rpcUserPassword das Kennwort für die Benutzer-ID für die Betriebssystemanmeldung fest. Wenn Sie sich beispielsweise am Member-Computer mit dem Benutzernamen test1 und dem Kennwort test1pwd anmelden, ändern Sie das Element hostAuthInfo wie folgt:
<hostAuthInfo rpcUser="test1" rpcUserPassword="test1pwd" />
- Wenn der Member-Host im Verbundcontroller registriert ist, setzen Sie für den Member-Server, der die RPC-Berechtigungsnachweise vom zugehörigen Host übernimmt, die Einstellung für hostAuthInfo useHostCredentials auf true.
<hostAuthInfo useHostCredentials="true" />
Informationen zu den hostAuthInfo-Einstellungen und Beispiele für die Registrierung eines Member-Hosts und zum Ausführen des Befehls join mit --useHostCredentials finden Sie unter Liberty-Server-Host-Informationen überschreiben.
- Legen Sie für hostAuthInfo RPC-Benutzer- und Kennwortwerte fest. Legen Sie für rpcUser eine Benutzer-ID für eine Betriebssystemanmeldung für den Host fest, auf dem sich der Member-Server befindet, und legen Sie für rpcUserPassword das Kennwort für die Benutzer-ID für die Betriebssystemanmeldung fest. Wenn Sie sich beispielsweise am Member-Computer mit dem Benutzernamen test1 und dem Kennwort test1pwd anmelden, ändern Sie das Element hostAuthInfo wie folgt:
- Nur für z/OS: Setzen Sie den Befehl updateHost ab, um das JAVA_HOME-Memberverzeichnis für den Controller anzugeben.
wlp/bin/collective updateHost Hostname_des_Controllers --host=Hostname_des_Controllers --port=9443 --user=Administrator --password=Administratorkennwort --hostWritePath=/dir1 --rpcUser=RPC-Benutzer --rpcUserPassword=Kennwort_des_RPC-Benutzers --hostJavaHome=JAVA_HOME
Wenn Sie die Anzahl der erforderlichen Optionen verringern möchten, verwenden Sie die Option --controller anstelle der Optionen --user, --password, --host und --port:
wlp/bin/collective updateHost controllerHostname --controller=adminUser:adminPassword@controllerHostname:9443 --hostWritePath=/dir1 --rpcUser=RPC-Benutzer --rpcUserPassword=Kennwort_des_RPC-Benutzers --hostJavaHome=JAVA_HOME
Mit dem Parameter hostWritePath werden die Verzeichnisse angegeben, in die der Verbundcontroller schreiben kann. Pfade, die mit dem Parameter hostWritePath angegeben werden, können auch gelesen werden.
hostWritePathMit dem Parameter hostJavaHome wird der absolute Pfad angegeben, unter dem sich die JVM auf dem System, auf dem der Member-Server ausgeführt wird, befindet. Beispiel: /usr/lpp/java/java_1.7_64.
Weitere Informationen zur Angabe von JAVA_HOME finden Sie unter Variable JAVA_HOME für Liberty-Verbundmember und -Controller setzen.
- Starten Sie den Member-Server.
wlp/bin/server start myMember
Abbildung 2. Einfacher Verbund - Stellen Sie sicher, dass der Member-Server ordnungsgemäß gestartet wurde und Informationen an den Controller veröffentlicht.
- Öffnen Sie die Nachrichtenprotokolldatei $WLP_USER_DIR/servers/myMember/logs/messages.log in einem Editor.
- Suchen Sie in beliebiger Reihenfolge nach den folgenden Nachrichten:
CWWKX8112I: Die Hostinformationen des Servers wurden erfolgreich im Verbundrepository veröffentlicht. CWWKX8114I: Die Pfade des Servers wurden erfolgreich im Verbundrepository veröffentlicht. CWWKX8116I: Der Serverstatus GESTARTET wurde erfolgreich im Verbundrepository veröffentlicht.
- Optional:
Verwenden Sie den Befehl testConnection, um Konnektivität zu validieren. Der Befehl validiert die RXA-Konnektivität zwischen dem Controller und dem Host, auf dem sich das Member befindet. Er validiert außerdem die geschützte JMX-Konnektivität zwischen dem Verbundcontroller und dem Verbundmember.
Hierbei steht hostName,usrDirPath,serverName für das Tupel, das den soeben verbundenen Member-Server beschreibt: hostName ist der Name des Hosts, auf dem sich das Verbundmember befindet.userDirPath ist das Benutzerverzeichnis des Verbundmembers. serverName ist der Name des Verbundmembers.wlp/bin/collective testConnection hostName,usrDirPath,serverName --host=controllerHost --port=controllerHTTPSPort --user=controllerAdmin --password=controllerAdminPassword--autoAcceptCertificates
Verwenden Sie alternativ die vereinfachte --controller-Option, um die controllerspezifischen Informationen bereitzustellen.
wlp/bin/collective testConnection hostName,usrDirPath,serverName --controller=Benutzer[:Kennwort]@Host:Https-Port --autoAcceptCertificates
- Erstellen Sie einen Member-Server.
Untergeordnete Themen
- Liberty-Verbund mit Entwicklertools konfigurieren
Mit dem Liberty-Dienstprogrammmenü in den Entwicklertools können Sie einen Verbundcontroller erstellen oder einen Verbund einbinden. - Implementierungsvariablen beim Einbinden eines Member-Servers in einen Verbund generieren
Mit der Option genDeployVariables des Verbundbefehls join können Sie beim Einbinden eines Members in einen Verbund Implementierungsvariablen (Ports) zuordnen.

Dateiname: tagt_wlp_configure_collective.html