この章には次の項が含まれます:
次の方法で、ノード・マネージャの起動と停止を行います。
ノード・マネージャは、ノード・マネージャを使用して制御するWebLogic Serverインスタンスをホストする各コンピュータ上で実行する必要があります。理想としては、システム障害の発生時や再起動時にノード・マネージャが自動的に再起動されるように、ノード・マネージャはオペレーティング・システムのサービスまたはデーモンとして実行する必要があります。
デフォルトでオペレーティング・システム・サービスは、ノード・マネージャを起動しlocalhost:5556
でリスニングします。ノード・マネージャでリモート・システムからのコマンドを受け付けるようにする場合は、localhost以外のリスニング・アドレスでリスニングするようにスクリプトを編集します。
ノード・マネージャは、起動サービスとして実行するようにインストールすることをお薦めします。これによって、システムが再起動されるたびに、ノード・マネージャが自動で起動されます。「xinetdサービスとしてのノード・マネージャの構成」および「init.dサービスとしてのノード・マネージャの構成」を参照してください
注意:
UNIXプラットフォームでは、ノード・マネージャのrootユーザーとしての実行はお薦めしません。ただし、バインド後のグループIDを取得するには、ノード・マネージャをrootユーザーとして実行する必要があります。バインド後のグループIDを使用すると、ご使用のマシンで稼働するサーバーが、すべての権限のある起動アクションの実行後に、UNIXグループID (GID)にバインドできるようになります。
Windowsマシンでドメインごとのノード・マネージャWindowsサービスをインストールするには、次の手順を実行します。
管理者権限でマシンにログインします。
DOSコマンド・プロンプトを開きます。
DOMAIN_HOME
\bin
ディレクトリに移動します。
次のコマンドを入力します。
installNodeMgrSvc.cmd
数秒後に、次のメッセージが表示されます。
Oracle WebLogic <domain-name> NodeManager installed.
サービスはデフォルトのノード・マネージャ・リスニング・ポート(5556
)を使用してインストールされます。このリスニング・ポートが使用中の場合、プログラムから別のリスニング・ポートの入力を要求されます。
注意:
ノード・マネージャのWindowsサービスがすでにインストールされている場合、次のメッセージがかわりに表示されます。
CreateService failed - The specified service already exists.
ドメインごとのノード・マネージャWindowsサービスをアンインストールするには、次の手順を実行します。
管理者権限でマシンにログインします。
DOSコマンド・プロンプトを開きます。
DOMAIN_HOME
\bin
ディレクトリに移動します。
次のコマンドを入力します。
uninstallNodeMgrSvc.cmd
数秒後に、次のメッセージが表示されます。
Oracle WebLogic <domain-name> NodeManager removed.
デフォルトでは、NODEMGR_HOST
はinstallNodeMgrSvc.cmd
でlocalhost
に設定され、ノード・マネージャはローカル・ホストでのみリスニングします。ノード・マネージャがローカル・ホストでのリスニングを行わないようにするには、NODEMGR_HOST
を有効なホスト名またはIPアドレスに設定してからノード・マネージャ・サービスをインストールします。
注意:
WL_HOME
\server\bin\installNodeMgrSvc.cmd
を使用して、ホストごとのノード・マネージャをWindowsサービスとして実行するには、「ホストごとのノード・マネージャの構成」に説明されているように、前提条件の構成手順を最初に実行する必要があります。
オペレーティング・システム・サービスとしてノード・マネージャを実行することをお薦めしますが、コマンド・プロンプトまたはスクリプトを使用してノード・マネージャを手動で起動することもできます。ノード・マネージャに必要な環境変数については、「ノード・マネージャ環境変数の設定」を参照してください
ノード・マネージャのサンプル起動スクリプトは、各DOMAIN_HOME
/bin
およびWL_HOME
\server\bin
ディレクトリにインストールされます。ここでWL_HOME
は、WebLogic Serverの最上位のインストール・ディレクトリです。ただし、WL_HOME
\server\bin
のスクリプトを使用する場合は、「ホストごとのノード・マネージャの構成」に説明されているように、前提条件の手順を最初に実行する必要があります。
WindowsシステムではstartNodeManager.cmd
、UNIXシステムではstartNodeManager.sh
を使用します。
スクリプトにより、必須の環境変数が設定され、NodeManagerHome
ディレクトリのノード・マネージャが起動します。ノード・マネージャは、このディレクトリを出力およびログ・ファイルを格納するための作業ディレクトリとして使用します。別の作業ディレクトリを指定するには、テキスト・エディタで起動スクリプトを編集し、NODEMGR_HOME
変数の値を目的のディレクトリに設定します。
Javaベースのノード・マネージャを起動するための構文は次のとおりです。
java [java_option=value ...] -D[nodemanager_property=value] -D[server_ property=value] weblogic.NodeManager
説明:
java_option
は、java
実行可能ファイルの直接引数(-ms
や-mx
など)。
注意:
CLASSPATH
環境変数を設定しなかった場合、-classpath
オプションを使用して必須のノード・マネージャ・クラスを指定します。
nodemanager_property
は、ノード・マネージャ・プロパティ。ノード・マネージャ・プロパティ値をコマンド行で指定するかわりに、NodeManagerHome
ディレクトリに作成されているnodemanager.properties
ファイルを編集できます。詳細は、「nodemanager.propertiesのレビュー」を参照してください。
nodemanager.properties
の値は、コマンド行で指定するノード・マネージャ・プロパティ値によってオーバーライドされます。
server_property
は、ノード・マネージャがコマンド行で受け付ける、サーバー・レベルのプロパティ。以下のプロパティがあります。
bea.home
- 現在のマシン上のサーバー・インスタンスが使用するBEAホーム・ディレクトリ。
java.security.policy
- 現在のマシン上のサーバー・インスタンスが使用するセキュリティ・ポリシー・ファイルのパス。
注意:
UNIXシステムの場合:
Solaris以外のUNIXオペレーティング・システム上でノード・マネージャを実行する場合、ノード・マネージャの起動時にjava
コマンド行に渡すパラメータで空白は使用できません。たとえば次のコマンドは、"big iron"
にスペースが含まれているので無効です。
-Dweblogic.Name="big iron"
SolarisおよびLinux以外のUNIXオペレーティング・システムでは、ノード・マネージャの起動時にコマンド行でweblogic.nodemanager.nativeVersionEnabled
オプションを無効にするか、nodemanager.properties
でプロパティを設定して、pure Java実装を使用する必要があります。詳細は、「nodemanager.propertiesのレビュー」を参照してください。
注意:
このリリースのWebLogic Serverでは、スクリプト・ベース実装のノード・マネージャを実行する前に、NodeManagerHome
に、ノード・マネージャ・インスタンスで制御するドメインを指定するnodemanager.domains
ファイルを作成またはコピーする必要があります。「nodemanager.domainsファイルの構成」を参照してくださいあるいは、WLSTコマンドnmEnroll
を使用して、WebLogicドメインをノード・マネージャに登録することも可能です。
指定しない場合、デフォルトのNodeManagerHome
の場所はWL_HOME
/common/nodemanager
です。
SSHノード・マネージャのコマンド・シェルを使用するには、次のコマンド行オプションを使用して、管理サーバーを起動します。
-Dweblogic.nodemanager.ShellCommand='ssh -o PasswordAuthentication=no %H wlscontrol.sh -d %D -r %R -s %S -x -c -f sample_custom_startscript.sh %C'
注意:
%
Cを、wlscontrol.sh
に渡す最後の引数にする必要があります。
weblogic.nodemanager.ShellCommand
属性では、リモートのスクリプト・ベースのノード・マネージャとの通信と、制御下にあるサーバー・インスタンスに対するノード・マネージャ機能の実行に使用するコマンド・テンプレートを指定します。
テンプレートは、ノード・マネージャをホストしているリモート・マシン上のデフォルトのパスにwlscontrol.sh
があることを前提としています。
ShellCommand
構文は次のとおりです。
ssh -o PasswordAuthentication=no %H wlscontrol.sh -d %D -r %R -s %S %C'
使用可能なコマンド行オプションを、表6-1に示します。使用可能なパラメータ値を、表6-2に示します。
たとえば、次のコマンドを入力したとします。
ssh -o PasswordAuthentication=no wlscontrol.sh myserver start
SSHサーバーのリスニング・アドレスとリスニング・ポートは、デフォルトではリモート・マシン上のノード・マネージャで使用されるリスニング・アドレスとリスニング・ポートになります。ドメイン名とドメイン・ディレクトリは、ターゲット・サーバー・インスタンスmyserver
に対して指定されているルート・ディレクトリと見なされます。
別の例として、次のコマンドを入力したとします。
ssh -o PasswordAuthentication=no 172.11.111.11 wlscontrol.sh -d ProductionDomain -r ProductionDomain -s ServerA'
domains/ProductionDomain
ディレクトリにあるProductionDomain
というドメインのサーバー・インスタンスServerA
にSTART
コマンドが発行されます。
ssh
コマンドには、次の文字列が含まれている必要があります。
-o PasswordAuthentication=no
この文字列によって、SSH PasswordAuthentication
オプションが渡されます。値をyes
にすると、コンソールから読み込もうとするときにクライアントがハングします。
表6-1 wlscontrol.shコマンド行オプション
パラメータ | 説明 |
---|---|
-n |
ノード・マネージャのルート・ディレクトリを指定します。 |
-s |
サーバー名を指定します。 |
-d |
ドメイン名を指定します。 |
-r |
ドメイン・ディレクトリを指定します。 |
-c |
サーバー起動スクリプトを有効化します。 |
-f |
サーバー起動スクリプトの名前。 |
-p |
サーバー停止スクリプトの名前。 |
-v |
冗長な出力を有効にします。 |
-h |
wlscontrol.shの使用方法を出力します。 |
表6-2 シェル・コマンド・テンプレート
パラメータ | 説明 | デフォルト |
---|---|---|
%H |
SSHサーバーのホスト名 |
|
%N |
ノード・マネージャのホーム・ディレクトリ |
|
%P |
SSHサーバーのポート番号 |
|
%S |
WebLogic Server名 |
|
%D |
WebLogicドメイン名 |
なし |
%R |
ドメイン・ディレクトリ(サーバーのルート) |
|
%C |
ノード・マネージャ・スクリプトのコマンド
注意:この要素を、ファイル内の最後の要素にする必要があります。 |
none |
注意:
ノード・マネージャまたはWebLogic Serverインスタンスの起動に時間がかかる場合、マシンのエントロピが低い可能性があります。
次のようにして、エントロピをチェックします。
cat /proc/sys/kernel/random/entropy_avail
結果が500より小さい場合、システムでエントロピが足りなくなる危険があることを意味します。rngdを実行し、/dev/random
にランダムな数のバイトを補充して/dev/urandom
をソースとして使用してください。rngd
(rootとして)を起動します。これにより、システムでエントロピが足りなくなることはありません。
$ rngd -r /dev/urandom -o /dev/random -b
/etc/sysconfig/rngd
を編集し、次を使用してプロセスを構成できます。
EXTRA OPTIONS="-i -r /dev/urandom -o /dev/random -b -t 60 -W 2048"
60秒ごとに、サイズが2048に達するまでエントロピ・プールにビットを追加します。間隔およびサイズを、-t 60
および-W 2048
パラメータを使用して変更できます。
ノード・マネージャを停止するには、それが実行されているコマンド・シェルを閉じます。
またはnodemanager.properties
のQuitEnabled
の属性をtrue
に設定した後(デフォルトはfalse
です)、WLSTを使用して、ノード・マネージャに接続して停止できます。
wls:/nm/mydomain> stopNodeManager()
Stopped Node Manager Process successfully
wls:/offline>
詳細は、『WebLogic Server WLSTコマンド・リファレンス』のstopNodeManager
に関する項を参照してください。
一般的に、管理サーバーおよび管理対象サーバーの起動と停止には、WebLogic Scripting Toolとノード・マネージャを使用することをお薦めします。この項では、ノード・マネージャとWLSTを使用してサーバー・インスタンスを起動する際の推奨手順を示します。
詳細は、『WebLogic Server WLSTコマンド・リファレンス』のWLSTとノード・マネージャを使用したサーバー管理に関する項およびノード・マネージャ・コマンドに関する項を参照してください。
WebLogic Serverインスタンスの起動および停止の資格証明を変更するための詳細は、『Oracle WebLogic Serverサーバーの起動と停止の管理』のサーバーの起動に使用する資格証明の変更に関する項を参照してください。
WLSTとノード・マネージャを使用して管理サーバーを起動する場合は、次の一般的な手順に従うことをお薦めします。
nmGenBootStartupProps
コマンドを使用して起動情報を確立します。このコマンドは、ノード・マネージャのプロパティ・ファイルboot.properties
とstartup.properties
を生成します。
ドメイン内で初めて管理サーバーを起動するときや、管理サーバーの構成を変更する場合は、次の手順をすべて実行する必要があります。
それ以降の管理サーバーの起動時は、ステップ7に進んで管理サーバーを直接ノード・マネージャで起動します。
管理サーバーが起動したら、WLSTを使用してドメイン内の管理対象サーバーを起動できます。
注意:
nmStart
コマンドを使用してサーバー・インスタンスを起動すると、ノード・マネージャが管理サーバーの状態を監視して障害発生時に再起動できるようになります。ノード・マネージャによって再起動できるのは、この方法で起動したサーバー・インスタンスのみです。
nmStart
を使用すると、特定のプロパティをサーバー・インスタンスに渡すことができますが、デバッグの際にのみ使用するようにしてください。nmStart
で渡したサーバー・プロパティは、次回のサーバー・インスタンス再起動時までは保持されません。
WLSTとノード・マネージャを使用して管理対象サーバーを起動する場合は、次の一般的な手順に従うことをお薦めします。
connect
コマンド使用して管理サーバーに接続します。start
コマンドを使用して管理対象サーバーを起動します。start
コマンドを使用した場合は、WLSTが管理サーバーにアクセスして管理対象サーバーの起動プロパティを識別します。これらのプロパティは、最終的にはノード・マネージャに渡され、管理対象サーバーの起動に使用されます。
WebLogic Server管理コンソールを使用して管理対象サーバーを起動するには、次の一般的な手順をお薦めします。
詳細は、Oracle WebLogic Server管理コンソール・オンライン・ヘルプの管理コンソールからの管理対象サーバーの起動に関する項を参照してください。
WebLogic Serverマシン・リソースでは、特定のマシンとそれがホストするサーバー・インスタンスを関連付け、そのシステム上のノード・マネージャ・プロセスの接続属性を指定します。
WebLogic Server管理コンソールの「環境」→「マシン」→「machine_name」→「ノード・マネージャ」ページを使用して、ノード・マネージャ・プロセスを実行するマシンごとにマシン定義を構成します。以下の値を入力します。
ノード・マネージャがリスニングするDNS名またはIPアドレスを「リスニング・アドレス」
フィールドに入力します。
ポート番号を「リスニング・ポート」
フィールドに入力します。ポート番号の入力が特に重要になるのは、デフォルト値から変更した場合です。
注意:
ノード・マネージャの「リスニング・アドレス」の値には、クライアント側の構成が反映されます。これは、管理サーバーや管理サーバー上のクライアントに、ノード・マネージャへの接続方法を指示するものです。この属性は、ノード・マネージャを構成するものではありません。
指定するリスニング・アドレスは、ノード・マネージャSSLサーバーのデジタル証明書のサブジェクトDNのCNコンポーネントに表示されるホスト名と正確に一致する必要があります。
各コンピュータを1つのマシン・リソースとして構成した後、ノード・マネージャを使用して制御する各サーバー・インスタンスを、ノード・マネージャが実行されるマシンに割り当てる必要があります。
注意:
管理サーバーのマシンを、WebLogic Server管理コンソールを使用して変更することはできません。実行中のサーバー・インスタンスのクラスタやマシンを変更することはできません。
管理対象サーバーの起動プロパティの識別に管理サーバーを使用したくない場合は、WLSTとノード・マネージャを使用して、次に示す一般的な手順に従って管理対象サーバーを起動することをお薦めします。
nmStart
コマンドを使用すると、管理サーバーを使用しなくても管理対象サーバーを起動でき、任意のサーバー起動プロパティを指定できます。ただし、以下の点を考慮に入れてください。
nmStart
を使用してサーバー・インスタンスを起動するには、boot.properties
およびstartup.properties
が定義済であることを確認する必要があります。
サーバー・インスタンスの起動プロパティを恒久的に変更するには、nmStart
を使用しないでください。次回サーバー・インスタンスが管理サーバーから移行または再起動されるときに、そのプロパティは使用されません。
サーバー・インスタンスのユーザー名とパスワードをnmStart
を使用して渡すと、これらの値は暗号化されません。
次の例では、ノード・マネージャを使用して、現在のWebLogicドメインでmanaged1
サーバーを起動します。
wls:/nm/mydomain> nmStart("managed1")
Starting server managed1 ...
Server managed1 started successfully
wls:/nm/mydomain>