5 ノード・マネージャの使用
この章の内容は次のとおりです。
ノード・マネージャの起動と停止
Oracle WebLogic Serverには、様々なノード・マネージャの開始および停止方法があります。
この項には次のトピックが含まれます:
起動サービスとしてのノード・マネージャの実行
ノード・マネージャは、ノード・マネージャを使用して制御するOracle 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サービスとして実行するには、「ホストごとのノード・マネージャの構成」に説明されているように、前提条件の構成ステップを最初に実行する必要があります。
スクリプトを使用したJavaベースのノード・マネージャの起動
オペレーティング・システム・サービスとしてノード・マネージャを実行することをお薦めしますが、コマンド・プロンプトまたはスクリプトを使用してノード・マネージャを手動で起動することもできます。ノード・マネージャに必要な環境変数については、「ノード・マネージャ環境変数の設定」を参照してください
ノード・マネージャのサンプル起動スクリプトは、各DOMAIN_HOME
/bin
およびWL_HOME
\server\bin
ディレクトリにインストールされます。WL_HOME
は、Oracle WebLogic Serverの最上位のインストール・ディレクトリです。ただし、WL_HOME
\server\bin
のスクリプトを使用する場合は、「ホストごとのノード・マネージャの構成」に説明されているように、前提条件のステップを最初に実行する必要があります。
WindowsシステムではstartNodeManager.cmd
、UNIXシステムではstartNodeManager.sh
を使用します。
スクリプトにより、必須の環境変数が設定され、NodeManagerHome
ディレクトリのノード・マネージャが起動します。ノード・マネージャは、このディレクトリを出力およびログ・ファイルを格納するための作業ディレクトリとして使用します。別の作業ディレクトリを指定するには、テキスト・エディタで起動スクリプトを編集し、NODEMGR_HOME
変数の値を目的のディレクトリに設定します。
Javaベースのノード・マネージャを起動するためのコマンド構文
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のレビュー」を参照してください。
スクリプト・ベースのノード・マネージャの実行
ノート:
このリリースのOracle WebLogic Serverでは、スクリプト・ベース実装のノード・マネージャを実行する前に、NodeManagerHome
に、ノード・マネージャ・インスタンスで制御するドメインを指定するnodemanager.domains
ファイルを作成またはコピーする必要があります。「nodemanager.domainsファイルの構成」を参照してくださいあるいは、WLSTコマンドnmEnroll
を使用して、WebLogicドメインをノード・マネージャに登録することも可能です。
指定しない場合、デフォルトのNodeManagerHome
の場所はWL_HOME
/common/nodemanager
です。
-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'
使用可能なコマンド行オプションを、表5-1に示します。使用可能なパラメータ値を、表5-2に示します。
myserver
に対して指定されているルート・ディレクトリと見なされます。ssh -o PasswordAuthentication=no wlscontrol.sh myserver start
domains/ProductionDomain
ディレクトリにあるProductionDomain
というドメインのサーバー・インスタンスServerA
にSTART
コマンドが発行されます:ssh -o PasswordAuthentication=no 172.11.111.11 wlscontrol.sh -d ProductionDomain
-r ProductionDomain -s ServerA'
ssh
コマンドには、次の文字列が含まれている必要があります。
-o PasswordAuthentication=no
この文字列によって、SSH PasswordAuthentication
オプションが渡されます。値をyes
にすると、コンソールから読み込もうとするときにクライアントがハングします。
表5-1 wlscontrol.shコマンド行オプション
パラメータ | 説明 |
---|---|
-n |
ノード・マネージャのルート・ディレクトリを指定します。 |
-s |
サーバー名を指定します。 |
-d |
ドメイン名を指定します。 |
-r |
ドメイン・ディレクトリを指定します。 |
-c |
サーバー起動スクリプトを有効化します。 |
-f |
サーバー起動スクリプトの名前。 |
-p |
サーバー停止スクリプトの名前。 |
-v |
詳細出力を有効にします。 |
-h |
|
表5-2 シェル・コマンド・テンプレート
パラメータ | 説明 | デフォルト |
---|---|---|
%H |
SSHサーバーのホスト名。 |
|
%N |
ノード・マネージャのホーム・ディレクトリ。 |
|
%P |
SSHサーバーのポート番号。 |
|
%S |
Oracle WebLogic Serverの名前。 |
|
%D |
Oracle WebLogicドメイン名。 |
|
%R |
ドメイン・ディレクトリ(サーバーのルート)。 |
|
%C |
ノード・マネージャ・スクリプトのコマンド:
ノート:このコマンドを、コマンド内の最後の要素にする必要があります。 |
none |
ノート:
ノード・マネージャまたはOracle WebLogic Serverインスタンスの起動に時間がかかる場合、マシンのエントロピが低い可能性があります。
エントロピをチェックするには:
cat /proc/sys/kernel/random/entropy_avail
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>
『Oracle WebLogic Server WLSTコマンド・リファレンス』の「stopNodeManager」
を参照してください。
スクリプトを使用したJavaベースのノード・マネージャの停止
ノード・マネージャの停止スクリプトは、DOMAIN_HOME
/bin
およびWL_HOME
/server/bin
ディレクトリにインストールされます。WL_HOME
は、Oracle WebLogic Serverの最上位のインストール・ディレクトリです。
これらのスクリプトでは、実行前にNODEMGR_HOME
変数を設定する必要があります。DOMAIN_HOME
/bin/stopNodeManger.[cmd|sh]
には、適切なDOMAIN_HOME
値およびNODEMGR_HOME
値が構成されています。ただし、WL_HOME
/stopNodemanager[.cmd|sh]
を実行する前に、NODEMGR_HOME
を正しく定義する必要があります。
ノード・マネージャを停止するには、Windowsシステムの場合はstopNodeManager.cmd
を、UNIXシステムの場合はstopNodeManager.sh
を使用します。
ノード・マネージャを使用したサーバーの制御
管理サーバーおよび管理対象サーバーの起動と停止には、WebLogic Scripting Toolとノード・マネージャを使用することをお薦めします。
サーバー・インスタンスの起動と停止には推奨される手順を使用してください。『WebLogic Scripting Toolの理解』の「WLSTとノード・マネージャを使用したサーバー管理」および『Oracle WebLogic Server WLSTコマンド・リファレンス』の「ノード・マネージャ・コマンド」を参照してください。
Oracle WebLogic Serverインスタンスの起動および停止の資格証明を変更するための詳細は、『Oracle WebLogic Serverサーバーの起動と停止の管理』の「サーバーの起動に使用する資格証明の変更」を参照してください。
この項には次のトピックが含まれます:
ノード・マネージャを使用した管理サーバーの起動
WLSTとノード・マネージャを使用して管理サーバーを起動する場合は、次の一般的な手順に従うことをお薦めします。
nmGenBootStartupProps
コマンドを使用して起動情報を確立します。このコマンドは、ノード・マネージャのプロパティ・ファイルboot.properties
とstartup.properties
を生成します。
ドメイン内で初めて管理サーバーを起動するときや、管理サーバーの構成を変更する場合は、次のステップをすべて実行する必要があります。
それ以降の管理サーバーの起動時は、ステップ7に進んで管理サーバーをノード・マネージャで直接起動します。
管理サーバーが起動したら、WLSTを使用してドメイン内の管理対象サーバーを起動できます。
ノート:
nmStart
コマンドを使用してサーバー・インスタンスを起動すると、ノード・マネージャが管理サーバーの状態を監視して障害発生時に再起動できるようになります。ノード・マネージャによって再起動できるのは、この方法で起動したサーバー・インスタンスのみです。
nmStart
を使用すると、特定のプロパティをサーバー・インスタンスに渡すことができますが、デバッグの際にのみ使用するようにしてください。nmStart
で渡したサーバー・プロパティは、次回のサーバー・インスタンス再起動時までは保持されません。
WLSTを使用した管理対象サーバーの起動
WLSTとノード・マネージャを使用して管理対象サーバーを起動する場合は、次の一般的な手順に従うことをお薦めします。
- ノード・マネージャを起動します。「ノード・マネージャの起動と停止」を参照してください。
- 管理サーバーを起動します。『Oracle WebLogic Serverサーバーの起動と停止の管理』の起動スクリプトによる管理サーバーの起動に関する項を参照してください。
- WLSTを呼び出し、
connect
コマンド使用して管理サーバーに接続します。「WLSTの呼出し」を参照してください。 - WLSTの
start
コマンドを使用して管理対象サーバーを起動します。
start
コマンドを使用した場合は、WLSTが管理サーバーにアクセスして管理対象サーバーの起動プロパティを識別します。これらのプロパティは、最終的にはノード・マネージャに渡され、管理対象サーバーの起動に使用されます。
管理コンソールを使用した管理対象サーバーの起動
Oracle WebLogic Server管理コンソールを使用して管理対象サーバーを起動するには、次の一般的な手順をお薦めします:
- 管理対象サーバーをまだ作成していない場合は作成します。
- ノード・マネージャは、ノード・マネージャを使用して制御するOracle WebLogic Serverインスタンスのホストとなる各コンピュータ上で実行する必要があります。各コンピュータをOracle WebLogic Server内nのマシンとして構成します。「ノード・マネージャを使用するためのマシンの構成」を参照してください
- ノード・マネージャで制御する各サーバー・インスタンスを、そのインスタンスが実行されるマシンに割り当てます。「マシンへのサーバー・インスタンスの割当て」を参照してください
- 管理対象サーバーをホストするコンピュータでノード・マネージャを起動します。ノード・マネージャは、Oracle WebLogic Serverのカスタム・インストール・プロセスによって、WindowsシステムにWindowsサービスとしてオプションでインストールおよび起動されます。ノード・マネージャが実行されていない場合は、コマンド・プロンプトまたはスクリプトを使用して手動で起動できます。
『Oracle WebLogic Server Administration Consoleオンラインヘルプ』の管理コンソールからの管理対象サーバーの起動に関する項を参照してください。
ノード・マネージャを使用するためのマシンの構成
Oracle WebLogic Serverマシン・リソースでは、特定のマシンとそれがホストするサーバー・インスタンスを関連付け、そのシステム上のノード・マネージャ・プロセスの接続属性を指定します。
WebLogicサーバー管理コンソールの「ノード・マネージャ」ページを使用して、ノード・マネージャ・プロセスを実行するマシンごとに、マシン定義を構成します。このページにアクセスするには、「環境」を展開し、「マシン」をクリックし、「machine_name」を選択してから「ノード・マネージャ」をクリックします。
- ノード・マネージャがリスニングするDNS名またはIPアドレスを「リスニング・アドレス」フィールドに入力します。
- ポート番号を「リスニング・ポート」フィールドに入力します。ポート番号の入力が特に重要になるのは、デフォルト値から変更した場合です。
ノート:
ノード・マネージャの「リスニング・アドレス」の値には、クライアント側の構成が反映されます。これは、管理サーバーや管理サーバー上のクライアントに、ノード・マネージャへの接続方法を指示するものです。この属性は、ノード・マネージャを構成するものではありません。
指定するリスニング・アドレスは、ノード・マネージャSSLサーバーのデジタル証明書のサブジェクトDNのCNコンポーネントに表示されるホスト名と正確に一致する必要があります。
マシンへのサーバー・インスタンスの割当て
各コンピュータをマシン・リソースとして構成した後、ノード・マネージャで制御する各サーバー・インスタンスを、そのインスタンスが実行されるマシンに割り当てます。
- WebLogic Server管理コンソールで、「環境」を選択し、「サーバー」をクリックし、「server_name」を選択し、「構成」を選択してから「全般」をクリックします。
- 「マシン」フィールドで、サーバー・インスタンスの割当て先となるマシンを選択します。
ノート:
管理サーバーのマシンを、WebLogic Server管理コンソールを使用して変更することはできません。実行中のサーバー・インスタンスのクラスタやマシンを変更することはできません。管理サーバーを使用しない管理対象サーバーの起動
管理対象サーバーの起動プロパティの識別に管理サーバーを使用したくない場合は、WLSTとノード・マネージャを使用して、次に示す一般的な手順に従って管理対象サーバーを起動することをお薦めします。
nmStart
コマンドを使用すると、管理サーバーを使用しなくても管理対象サーバーを起動でき、任意のサーバー起動プロパティを指定できます。ただし、以下の点を考慮に入れてください。
-
nmStart
を使用してサーバー・インスタンスを起動するには、boot.properties
およびstartup.properties
が定義済であることを確認する必要があります。 -
サーバー・インスタンスの起動プロパティを恒久的に変更するには、
nmStart
を使用しないでください。次回サーバー・インスタンスが管理サーバーから移行または再起動されるときに、そのプロパティは使用されません。 -
サーバー・インスタンスのユーザー名とパスワードを
nmStart
を使用して渡すと、これらの値は暗号化されません。
managed1
サーバーを起動します。wls:/nm/mydomain> nmStart("managed1")
Starting server managed1 ...
Server managed1 started successfully
wls:/nm/mydomain>