Liberty unter z/OS verwalten

Auf der Plattform z/OS können Sie Liberty mit den MVS-Bedienerbefehlen starten und stoppen sowie ändern.

Vorbereitende Schritte

Vergewissern Sie sich, dass die folgenden Sicherheitsprofile wie unter Berechtigte z/OS-Services in Liberty für z/OS aktivieren beschrieben definiert wurden.
  • STARTED-Profile für den Serverprozess und den Angel-Prozess
  • SERVER-Profile, die den Zugriff auf berechtigte z/OS-Services erlauben
[16.0.0.4 und höher]Achtung:

Jede logische Partition kann einen Angel-Standardprozess haben. Sie können einem Angel-Prozess einen Namen geben, wenn der Angel-Prozess mit Version 16.0.0.4 oder höher gestartet wird. Dieser Angel-Prozess kann ein zusätzlicher Angel-Prozess für diese LPAR werden. Weitere Informationen zu Angel-Prozessen und LPARs finden Sie unter Benannter Angel. Stellen Sie sicher, dass der Angel-Standardprozess, wenn möglich, mit der neuesten installierten Version von Liberty in der LPAR ausgeführt wird. Wenn eine Liberty-Serverinstanz eine Verbindung zu einem Angel-Prozess herstellt, der mit einem früheren Service-Level ausgeführt wird, sind einige Features des Servers möglicherweise nicht verfügbar.

Informationen zu diesem Vorgang

In diesem Abschnitt wird beschrieben, wie Liberty über die MVS-Konsole gestartet, geändert und gestoppt wird. Sie können den Server auch über eine Shell starten und stoppen oder eine Shell verwenden, um den Server als gestartete Task zu starten. Informationen hierzu finden Sie unter Server über die Befehlszeile starten und stoppen.

Eine gestartete Task ist JCL, die als Reaktion auf einen Bedienerbefehl START unverzüglich ausgeführt wird. Im Verzeichnis wlp/templates/zos/procs werden zwei JCL-Prozedurvorlagen (PROCs) bereitgestellt. Eine Vorlage ist für den Serverprozess und die andere für den Angel-Prozess bestimmt:
  • bbgzsrv für Liberty.
  • bbgzangl für den Angel-Prozess, mit dem der Zugriff auf für das System berechtigte Services auf der z/OS-Plattform gesteuert wird
Administratoren können die Vorlagen an eine Benutzerposition kopieren und anschließend anpassen, um Liberty-Server über die MVS-Konsole zu starten.
Anmerkung: Dateien in den Verzeichnissen vom Typ /templates können geändert werden, wenn Produktaktualisierungen angewendet werden.
Im Abschnitt mit den Beispielen finden Sie weitere Informationen zu den beiden PROC-Vorlagen.

Das Ziel eines Bedienerbefehls STOP ist ein Job oder eine gestartete Task.

Nachdem die JCL-Prozedurvorlagen angepasst wurden, müssen Sie in die Verknüpfung zur Systemprozedurbibliothek eingefügt werden. Der Name des Prozedurelements wird zum Argument des Befehls START.

Vorgehensweise

Beispiel

Das folgende Beispiel enthält die Prozedurvorlage für den Serverprozess (bbgzsrv). Diese Prozedur (PROC) befindet sich in einer Datei in der Verkettung der z/OS-Prozedurenbibliotheken (proclib).

//BBGZSRV PROC PARMS='defaultServer'
//*------------------------------------------------------------------
//* INSTDIR - Der Pfad zur Installation von WebSphere Liberty.
//*           Dieser Pfad wird verwendet, um den Produktcode zu
//*           finden, und entspricht der Umgebungsvariablen WLP_INSTALL_DIR
//*           in der UNIX-Shell.
//* USERDIR - Der Pfad zum Benutzerbereich von WebSphere Liberty.
//*           Dieser Pfad wird verwendet, um gemeinsam genutzte und
//*           serverspezifische Konfigurationsdaten zu speichern, und
//*           entspricht der Umgebungsvariablen WLP_USER_DIR in der UNIX-Shell.
//*------------------------------------------------------------------
//  SET INSTDIR='/u/MSTONE1/wlp'
//  SET USERDIR='/u/MSTONE1/wlp/usr'
//*------------------------------------------------------------------
//* Liberty-Server starten
//*
//* WLPUDIR - PATH-DD, der auf das Liberty-Verzeichnis "user"
//*           verweist. Wenn die DD nicht zugeordnet
//*           ist, wird standardmäßig das Verzeichnis wlp/usr in der
//*           Installationsstruktur verwendet.
//* STDOUT  - Ziel für stdout (System.out)
//* STDERR  - Ziel für stderr (System.err)
//* MSGLOG  - Ziel für messages.log (optional)
//* STDENV  - UNIX-Anfangsumgebung - wird vom System gelesen.  Die
//*           Standard- und serverspezifischen Umgebungsdateien
//*           der Installation werden in dieser Umgebung zusammengeführt,
//*           bevor die JVM gestartet wird.
//*------------------------------------------------------------------
//STEP1   EXEC PGM=BPXBATSL,REGION=0M,
//  PARM='PGM &INSTDIR./lib/native/zos/s390x/bbgzsrv &PARMS' 
//WLPUDIR  DD PATH='&USERDIR.' 
//STDOUT    DD SYSOUT=* 
//STDERR    DD SYSOUT=* 
//*MSGLOG   DD SYSOUT=*
//*STDENV   DD PATH='/etc/system.env',PATHOPTS=(ORDONLY) 
//*STDOUT   DD PATH='&ROOT/std.out', 
//*            PATHOPTS=(OWRONLY,OCREAT,OTRUNC), 
//*            PATHMODE=SIRWXU 
//*STDERR   DD PATH='&ROOT/std.err', 
//*            PATHOPTS=(OWRONLY,OCREAT,OTRUNC), 
//*            PATHMODE=SIRWXU
Anmerkungen:
  • Das Startprogramm verwendet die STDENV DD als Anfangsumgebung, aber diese DD ist optional. Die Anfangsumgebung für den Prozess wird in der PROC definiert. Sie kann auf jeden Typ von Datei verweisen, die von Language Environment unterstützt wird, aber das Format muss mit dem erwarteten Format kompatibel sein, z. B. Extended Binary Coded Decimal Interchange Code (EBCDIC), einfache Schlüssel=Wert-Angabe ohne Erweiterung.
  • Eine PATH DD, die auf ein vorhandenes Verzeichnis (und nicht auf eine Datei) verweist, ist zulässig. Wenn dieser geöffnet wird, ist der zurückgegebene FILE-Datenstrom für fldata gültig. Daher kann der HFS-Pfad, der der DD zugeordnet ist, verwendet werden. Die PROC-Vorlage definiert eine WLPUDIR PATH DD, die WLP_USER_DIR entspricht.
  • WLP_USER_DIR wird mit der folgenden Logik bestimmt:
    • Wenn die WLPUDIR DD definiert ist, wird der zugehörige Pfad als WLP_USER_DIR verwendet.
    • Wenn WLPUDIR nicht definiert ist, aber WLP_USER_DIR in der Anfangsumgebung (aus STDENV) gesetzt ist, wird dieses Verzeichnis verwendet.
    • Wenn WLPUDIR nicht definiert ist und WLP_USER_DIR nicht in der Ausgangsumgebung gesetzt ist, wird der Standardwert $WLP_INSTALL_DIR/usr verwendet.
  • Die Umgebung wird mit der folgenden Logik bestimmt:
    • Wenn Sie die STDENV DD-Anweisung definieren, liest Language Environment den Eintrag als Startumgebung.
    • Wenn $WLP_INSTALL_DIR/etc/server.env vorhanden und lesbar ist, wird dessen Schlüssel=Wert-Inhalt gelesen und in der Umgebung gesetzt. Die Datei kann das Format ASCII oder EBCDIC haben. Kommentare beginnen mit dem Zeichen # und gehen bis zum Ende der Zeile. Werte, die Leerzeichen enthalten, können in Anführungszeichen eingeschlossen werden. Alle in dieser Datei angegebenen Umgebungseinträge überschreiben Einträge aus der Anfangsumgebung.
    • Wenn $WLP_USER_DIR/servers/{serverName}/server.env vorhanden und lesbar ist, wird dessen Schlüssel=Wert-Inhalt gelesen und in der Umgebung gesetzt. Diese Datei kann ebenfalls das Format ASCII oder EBCDIC haben und unterstützt Kommentare. Alle hier angegebenen Einträge überschreiben Einträge aus der Anfangsumgebung und aus etc/server.env.
    • Unabhängig von der benutzerdefinierten Umgebung werden die folgenden Einträge gesetzt: _BPXK_WLM_PROPAGATE=NO, JAVA_THREAD_MODEL=HEAVY und JAVA_PROPAGATE=NO. Wenn _EDC_PTHREAD_YIELD nicht gesetzt ist, wird dafür der Wert "-2" festgelegt.
  • Nach dem Einrichten der Umgebung wird die Umgebungsvariable JAVA_HOME mit der folgenden Logik bestimmt:
    • Wenn JAVA_HOME in der Umgebung festgelegt ist, wird die zugehörige Position als JAVA_HOME verwendet.
    • Wenn JAVA_HOME nicht in der Umgebung festgelegt ist, aber $WLP_INSTALL_DIR/../java64 vorhanden ist, wird $WLP_INSTALL_DIR/../java64 als JAVA_HOME verwendet.
    • Wenn JAVA_HOME nicht in der Umgebung festgelegt und $WLP_INSTALL_DIR/../java64 nicht vorhanden ist, wird $WLP_INSTALL_DIR/../java als JAVA_HOME verwendet.
  • Nachdem JAVA_HOME festgelegt wurde, werden JVM-Befehlszeilenoptionen mit der folgenden Logik bestimmt:
    • Wenn $WLP_USER_DIR/servers/{serverName}/jvm.options vorhanden und lesbar ist, wird dessen Inhalt gelesen. Die Datei kann das Format ASCII oder EBCDIC haben und jede Zeile der Datei muss ein einziges Java-Befehlszeilenargument enthalten. Kommentare beginnen mit dem Zeichen # und gehen bis zum Ende der Zeile.
    • Wenn $WLP_USER_DIR/servers/{serverName}/jvm.options nicht vorhanden ist, aber $WLP_INSTALL_DIR/etc/jvm.options vorhanden und lesbar ist, wird dessen Inhalt gelesen. Die Datei kann das Format ASCII oder EBCDIC haben und muss ein einziges Java-Befehlszeilenargument pro Zeile enthalten. Kommentare werden unterstützt.
    • Unabhängig vom Inhalt von jvm.options, sind -Dfile.encoding=iso8859-1, -javaagent:$WLP_INSTALL_DIR/lib/bootstrap-agent.jar und -classpath $WLP_INSTALL_DIR/lib/server-launcher.jar in der Befehlszeile enthalten.
  • Wenn Sie Argumente an die JVM übergeben möchten, definieren Sie die JAVAOPTS DD-Anweisung so, dass die Java™-Befehlszeilenargumente anschließend aus dieser DD-Anweisung gelesen werden. Das folgende Beispiel zeigt eine Beispieleingabedatei:
    -Xmx512m
    -Xms256m
    -Daaa.bbb.ccc=something.forsomeone
  • Wenn Sie einen Liberty-Server mit einer z/OS-Prozedur starten, können Sie den vom Serverprozess verwendeten umask-Wert anpassen. Definieren Sie zum Anpassen des umask-Werts die Umgebungsvariablen WLP_SKIP_UMASK und _BPX_BATCH_UMASK auf eine der folgenden Arten:
    • Geben Sie die Umgebungsvariable WLP_SKIP_UMASK an. Sie können diese Variable in der Datei server.env oder, falls Sie den Server mit einer z/OS-Prozedur starten, im STDENDV DD-Eintrag angeben. Geben Sie in der z/OS-Prozedur die Variable _BPX_BATCH_UMASK im STDENV DD-Eintrag an. Sie können die Variable _BPX_BATCH_UMASK nicht in der Datei server.env angeben. Im folgenden Beispiel wird die Anpassung des umask-Werts veranschaulicht:
      //STDENV DD *      
      _BPX_BATCH_UMASK=XXXX
      WLP_SKIP_UMASK=TRUE
      /*
    • Geben Sie _BPX_BATCH_UMASK=XXXX und WLP_SKIP_UMASK=TRUE in einer in EBCDIC codierten z/OS-UNIX-Datei an. Definieren Sie den Pfad unter dem STDENV DD-Eintrag in der z/OS-Prozedur. Im folgenden Beispiel wird die Anpassung des umask-Werts veranschaulicht:
      //STDENV DD PATH='u/path/to/env/ebcdic/file',PATHOPTS=ORDONLY
Das folgende Beispiel zeigt den Befehl, den Sie zum Starten von Liberty verwenden, mit der Beispielprozedur "bbgzsrv" für einen konfigurierten Server mit dem Namen "defaultServer":
start bbgzsrv,parms='defaultServer' 
Das folgende Beispiel zeigt die Prozedurvorlage für den Angel-Prozess (bbgzangl): [16.0.0.4 und höher]
//BBGZANGL PROC PARMS='',COLD=N,NAME=''
//*------------------------------------------------------------------
//  SET ROOT='/u/MSTONE1/wlp'
//*------------------------------------------------------------------
//* Liberty-Angel-Prozess starten
//*------------------------------------------------------------------
//STEP1   EXEC PGM=BPXBATA2,REGION=0M,TIME=NOLIMIT,
//      PARM='PGM &ROOT./lib/native/zos/s390x/bbgzangl COLD=&COLD NAME=X
//             &NAME &PARMS'
//STDOUT    DD SYSOUT=* 
//STDERR    DD SYSOUT=*

Symbol das den Typ des Artikels anzeigt. Taskartikel

Dateiname: twlp_admin_zos.html