この章では、Java実装のノード・マネージャを構成する方法を説明します。
この章には次の項が含まれます:
Java実装のノード・マネージャは、デフォルトで同じドメインに属するすべてのサーバー・インスタンスを制御するように構成される、ドメインごとのノード・マネージャです。サーバー・インスタンスは同じマシンに存在する必要はありません。1つのマシンに複数のドメインがある場合は、ドメインごとのノード・マネージャを使用すると、複数のノード・マネージャ・プロセス・インスタンスが存在することになります。ドメインごとのノード・マネージャの詳細は、「ノード・マネージャのデフォルト構成」を参照してください。
以前のバージョンのWebLogic Serverでは、ノード・マネージャに特定のWebLogicドメインが関連付けられることはなく、関連付けられるのはホスト・マシンのみでした。どのWebLogicドメインに存在するサーバー・インスタンスであっても、同じマシン上に存在しているサーバー・インスタンスであるかぎり、同じノード・マネージャ・プロセスを使用して制御されていました。つまり、マシン・スコープ指定の、ホストごとのノード・マネージャでした。ホストごとのノード・マネージャも引き続き使用できますが、追加の構成が必要になります。一般的に、ホストごとのノード・マネージャを使用する目的は、複数のドメインを1つのノード・マネージャ・インスタンスで管理することです。ホストごとのノード・マネージャの詳細は、「ホストごとのノード・マネージャの構成」を参照してください。
ドメインごとのノード・マネージャを使用する場合、WebLogic Serverでは、ノード・マネージャの構成をカスタムの場所に置くこともできます。構成ウィザードまたはWLSTオフラインを使用し、PerDomainまたはCustomLocationのJavaベースのノード・マネージャ構成を選択できます。ノード・マネージャ構成のタイプにかかわらず、一意のノード・マネージャ資格証明を指定できますが、NodeManagerHomeがデフォルトの場所となります(「ノード・マネージャのデフォルト構成」を参照)。一意の場所をNodeManagerHomeに使用する場合は、CustomLocationを選択して、空のディレクトリを指定するかディレクトリを作成してください。
ノード・マネージャをWebLogic Server 12.1.1以前のバージョンから最新のバージョンにアップグレードする場合、またはWebLogic Server 12.1.2以上のバージョンから最新のバージョンにアップグレードする場合は、Oracle WebLogic Serverのアップグレードのノード・マネージャのアップグレード手順の特定に関する項を参照してください。
作成するWebLogic Serverドメインのそれぞれについて、ドメイン固有のノード・マネージャ・インスタンスがデフォルトで作成されます。デフォルトであるドメインごとのノード・マネージャ構成を使用する場合は、特に追加の手順を実行しなくてもノード・マネージャを使用してWebLogic Serverドメイン内のサーバー・インスタンスの起動と停止ができるようになります。
管理サーバーに提供されたセキュリティ資格証明を使用して、nm_password.propertiesがDOMAIN_HOME\config\nodemanagerに作成されます。ここでDOMAIN_HOMEは、通常ORACLE_HOME\user_projects\domains\domain_nameにあります。nodemanager.propertiesファイルおよびnodemanager.domainsファイルが、DOMAIN_HOME\nodemanagerの下に作成されます。デフォルトのノード・マネージャ構成では、NodeManagerHomeの場所、DOMAIN_HOME\nodemanagerは編集はできません。
ノード・マネージャをWindowsサービスとして起動、停止、インストールおよびアンインストールするためのドメイン固有のスクリプトは、DOMAIN_HOME\binにあります。ノード・マネージャをWindowsサービスとしてインストールするには、installNodeMgrSvc.cmdスクリプトを編集して適切なリスニング・アドレスとリスニング・ポートの値を指定することが必要になる可能性があります。
DOMAIN_HOME\binディレクトリに移動します。
installNodeMgrSvc.cmdを編集して、ノード・マネージャのリスニング・アドレスとリスニング・ポートを指定します。
installNodeMgrSvc.cmdの場合と同じ編集をuninstallNodeMgrSvc.cmdでも行います。そうすれば、今後必要に応じてサービスを正常にアンインストールできます。
installNodeMgrSvc.cmdを実行して、ノード・マネージャをサービスとして再インストールし、更新したアドレスとポートでリスニングします。
|
注意: 複数のドメインごとノード・マネージャ・インスタンスを同じマシン上で構成する場合は、ドメインごとに一意のノード・マネージャ・アドレス(hostname:port)を使用する必要があります。一意のポートを使用するのでも、一意のホスト名を使用するのでもかまいません。たとえば、ドメインごとのノード・マネージャ・インスタンス3つを同じマシン上で実行する場合に、アドレスlocalhost:5556をドメイン1に、アドレスlocalhost:5557をドメイン2に、localhost:5558をドメイン3に使用します。 |
ホストごとのノード・マネージャを使用する場合は(そのスクリプトはWL_HOME\server\binにあります)、次に示す、前提条件となっている構成手順を最初に実行する必要があります。
|
注意: ホストごとのノード・マネージャ構成の場合は、JAVA_OPTIONSの中のweblogic.RootDirectoryの設定としてドメイン・ホームを選択しないでください。weblogic.RootDirectoryが既存のドメインを指している場合は、セキュリティ・サブシステムのデフォルトの場所が、ノード・マネージャ固有の場所ではなくドメインとなります。このときは、ノード・マネージャがドメイン固有のセキュリティ設定をデフォルトで使用することがあるため、別のドメインがそのノード・マネージャとの通信を試行した場合にSSLハンドシェイクに失敗するおそれがあります。
さらに、SSLをホストごとのノード・マネージャ構成で使用する場合は、独自の証明書ファイルを作成する必要があります。 |
ホストごとのNodeManagerHomeの場所であるORACLE_HOME\oracle_common\common\nodemanagerに、このノード・マネージャ・インスタンスが制御するドメインを指定するnodemanager.domainsファイルを作成します。
このファイルは、手動で作成するかコピーできます。「nodemanager.domainsファイルの構成」を参照してください。
あるいは、WLSTコマンドnmEnrollを使用して、WebLogicドメインをノード・マネージャに登録することも可能です。
nodemanager.domainsファイルに複数のドメインを指定することにより、以前のWebLogic Serverリリースからのノード・マネージャ機能と同様、複数のWebLogic Serverドメインに属するサーバー・インスタンスを管理する、マシンにスコープ指定された単独ノード・マネージャ・プロセスを構成できます。
ノード・マネージャ・プロセスを実行するマシンごとに、マシン定義を構成します。詳細は、「ノード・マネージャを使用するためのマシンの構成」を参照してください。
デモ用のIDキーストアおよび信頼キーストアは、開発目的またはテスト目的に限定して使用することをお薦めしますが、次の例に示すようにCertGenおよびImportPrivateKey Javaユーティリティを使用して作成できます。
PATH変数およびCLASSPATH変数を適切に設定するには、コマンド・プロンプトからWL_HOME\server\bin\setWLSEnv.cmdを実行します。
|
注意: UNIXオペレーティング・システムでは、setWLSEnv.shコマンドはすべてのコマンド・シェルで環境変数を設定しません。Kornシェルまたはbashシェルを使用してこのコマンドを実行してください。 |
証明書と秘密鍵を生成します。
java utils.CertGen -keyfilepass DemoIdentityPassPhrase -certfile democert -keyfile demokey
デフォルトではutils.CertGenは、生成される証明書で所有者CNの値として短いホスト名を使用します。完全修飾DNホスト名を使用するには、前述のコマンドに-cnオプションを追加します。例:
java utils.CertGen -keyfilepass DemoIdentityPassPhrase -certfile democert -keyfile demokey -cn abc.oracle.com
秘密鍵と証明書をインポートします。
java utils.ImportPrivateKey -keystore DemoIdentity.jks -storepass DemoIdentityKeyStorePassPhrase -keyfile demokey -keyfilepass DemoIdentityPassPhrase -certfile democert.pem -keyfile demokey.pem -alias demoidentity
DemoIdentity.jksキーストアに、1つの秘密鍵と証明書エントリが格納されました。他のファイルは削除できます。
DemoIdentity.jksキーストアを、NodeManagerHome \securityディレクトリにコピーします。
本番環境でのノード・マネージャ用のSSLの構成方法については、「Javaベースのノード・マネージャでのSSLの使用」を参照してください。
Oracle JRFを含むドメインでは、Oracle Platform Security Servicesのキーストア・サービス(OPSS)を使用するようにノード・マネージャを構成できます。『Oracle Fusion Middlewareの管理』のOPSSキーストア・サービスを使用するノード・マネージャの構成に関する項を参照してください。
|
注意: デフォルトでは、ノード・マネージャでのSSLの使用は有効です。必要ない場合は、nodemanager.propertiesファイルでSecureListener=falseに変更することで無効にできます。nodemanager.propertiesのSSL関連プロパティを確認するには、表4-1を参照してください。 |
1つのドメインの管理対象サーバーが複数の物理マシン上に存在している場合は、次の手順を実行します。
ノード・マネージャが各マシン上にインストールされて構成されていることを確認します。
複数マシン上でノード・マネージャを構成するときは、どのタイプのノード・マネージャも使用できます(ドメインごと、ホストごと、カスタム)。ただし、同じノード・マネージャ・タイプをすべてのマシンに使用してください。
NodeManagerHomeの場所とnodemanager.propertiesファイルを作成します。デフォルトでは、NodeManagerHomeはDOMAIN_HOME\nodemanagerです。本番環境では、ノード・マネージャのルート・ディレクトリの場所をカスタマイズすることが必要な場合があります。nodemanager.propertiesファイルは、NodeManagerHomeで指定されたディレクトリに作成され、このファイルでノード・マネージャのプロパティが指定されます。「nodemanager.propertiesのレビュー」を参照してください。
|
注意: NodeManagerHomeの場所を複数のノード・マネージャ・インスタンスで共用しないでください。
したがって、共有ドライブを使用するシナリオでは、 |
ドメインをノード・マネージャに登録するには、packおよびunpackコマンドを使用してすべての必須ドメインおよび構成情報をマシン間でコピーすることをお薦めします。『PackおよびUnpackコマンドによるテンプレートとドメインの作成』のノード・マネージャの構成に関する項を参照してください。WLSTのコマンドnmEnrollを使用してこのアクションを実行することもできます。
管理サーバー内に、各ノード・マネージャ・インスタンスを指す対応MachineMBeanを作成し、どのマシンからでもノード・マネージャを使用して管理対象サーバーを起動できるようにします。
管理対象サーバーの起動に管理サーバーが関与する場合は、ターゲットであるMachineMBean内の情報を使用して正しいノード・マネージャ・インスタンスとの接続が作成されます。これは、WebLogic Server管理コンソールを使用するときも、WLSTを使用するときも(nmConnectコマンドの実行後)行われます。対応するMachineMBeanを物理マシンごとに作成すると、各ノード・マネージャ・インスタンスを指してサーバー・インスタンスと適切なMachineMBeanとを関連付けるのに役立ちます。
MachineMBeanを管理サーバー内に作成するには、次のアクションのいずれかを実行します。
WebLogic Server管理コンソールで、「環境」→「マシン」を選択して新しいマシンを作成します。ノード・マネージャのリスニング・アドレスとリスニング・ポートを指すようにMachineMBeanとそのNodeManagerMBean内の情報を構成します。詳細は、Oracle WebLogic Server管理コンソール・オンライン・ヘルプのマシンの作成と構成に関する項を参照してください。
WLSTを使用してcreateコマンドでMachineMBeanを作成します。次に、ノード・マネージャのリスニング・アドレスとリスニング・ポートを指すようにMachineMBeanの設定を変更します。
ノード・マネージャをローカルで作成した場合は、必要に応じて、これまでに実行した構成手順を繰り返します。
詳細は、『WebLogic Server WLSTコマンド・リファレンス』のノード・マネージャへのアクセスに関する項およびnmEnrollに関する項を参照してください。
WebLogic Scripting Tool (WLST)はコマンド行スクリプト・インタフェースです。システム管理者およびオペレータは、このインタフェースでWebLogic Serverのインスタンスやドメインの監視と管理を行います。WLSTをノード・マネージャ・クライアントとして使用することで、サーバー・インスタンスをリモートまたはローカルで起動、停止、および再起動できます。加えて、WLSTではサーバーのステータスを取得し、サーバー出力のログとノード・マネージャのログの内容を取得できます。WLSTノード・マネージャ・コマンドの詳細は、『WebLogic Server WLSTコマンド・リファレンス』のWLSTコマンドおよび変数リファレンスに関する項を参照してください。
必要に応じて、WLSTオフラインを使用して次のノード・マネージャ構成タスクを実行できます。
ノード・マネージャのユーザー名とパスワードの設定
ノード・マネージャ・プロパティの設定
ノード・マネージャ・タイプの設定
例4-1に、ドメインのノード・マネージャ・リスニング・アドレスとリスニング・ポート、ノード・マネージャのユーザー名とパスワード、およびノード・マネージャ・タイプを設定する方法を示します。
|
注意: ノード・マネージャ・タイプがManualNodeManagerSetupの場合、WLSTオフラインを使用してノード・マネージャ・プロパティは編集できません。 |
例4-1 ノード・マネージャの構成
# set the Node Manager listen address and listen port.
cd('/')
cd('NMProperties')
set('ListenAddress','localhost')
set('ListenPort',9001)
# Set the Node Manager user name and password.
cd('/')
cd('SecurityConfiguration/domain_name')
set('NodeManagerUsername','username')
set('NodeManagerPasswordEncrypted','password')
# Set the Node Manager type to custom location type and set the custom location Node Manager home.
setOption('NodeManagerType','CustomLocationNodeManager')
setOption('NodeManagerHome','C:/mydomains/nodemanager')
詳細は、『WebLogic Server WLSTコマンド・リファレンス』のsetOptionに関する項を参照してください。
Javaベースのノード・マネージャのセキュリティには、SSLがデフォルトで使用され、各ドメインに固有の資格証明セットに対して、着信接続が認証されます。
WebLogic Server Scripting Tool (WLST)のnmConnectコマンドを使用してJavaノード・マネージャへのコマンド行接続を確立する場合は、ノード・マネージャのユーザー名とパスワードを指定します。ノード・マネージャは、ドメインのnm_password.propertiesファイルに対してユーザー名とパスワードを検証します。
ノード・マネージャの資格証明は、WebLogic Server管理コンソールの「domain_name」→「セキュリティ」→「全般」→詳細オプション・ページにあります。
WebLogic Server管理コンソール・ユーザーは、ノード・マネージャに接続するための資格証明を明示的に指定する必要はありません。ノード・マネージャのユーザー名とパスワードはドメイン構成で使用可能であり、自動的に指定されます。
この項には次のトピックが含まれます:
nm_password.propertiesファイルには、ノード・マネージャのユーザー名とパスワードが暗号化された状態で格納されます。ユーザー名とパスワードは、クライアント(たとえば管理サーバー)とノード・マネージャの間の接続を認証するために使用します。
|
注意: このユーザー名とパスワードは、ノード・マネージャとクライアントの間の接続の認証にのみ使用されます。サーバー管理IDとパスワードとは別のものです。 |
このファイルは、ドメインの作成時または構成ウィザードの使用時に、nmEnrollを使用して必要な構成ファイルをあるマシンから別のマシンにコピーするときに作成されます。ファイルは、DOMAIN_HOME/config/nodemanagerにあります。ここでDOMAIN_HOMEは、WebLogicドメインの場所(通常ORACLE_HOME\user_projects\domains\domain_name)です。
構成ウィザードから、初期構成用のノード・マネージャのユーザー名とパスワードを求められます。この値は、必要なファイルにローカルに移入されますが、リモートに配布するためにはnmEnrollコマンドを使用する必要があります。
nm_password.propertiesが作成された後で、WebLogic Server管理コンソールを使用してノード・マネージャのパスワードやプロパティの値を変更できます。変更は、nm_password.propertiesファイルに伝播され、ノード・マネージャによって使用されます。
次の手順を使用して、ノード・マネージャの資格証明を変更できます。
管理サーバーを起動します。
WebLogic Server管理コンソールを使用し、「domain_name」→「セキュリティ」→「全般」の「詳細」オプションを使用してノード・マネージャの資格証明を更新します。
WLSTを呼び出し、connectコマンド使用して管理サーバーに接続します。詳細は、『WebLogic Scripting Toolの理解』のWebLogic Scripting Toolの使用に関する項を参照してください。
以下の構文を使用してnmEnrollを実行します。
nmEnroll([domainDir], [nmHome])
次に例を示します。
nmEnroll('C:/oracle/user_projects/domains/prod_domain',
'C:/oracle/user_projects/domains/prod_domain/nodemanager')
nmEnroll()を実行すると、各管理対象サーバーへ、確実に正しいノード・マネージャのユーザーおよびパスワード・トークンが提供されます。
|
注意: 管理対象サーバーを実行している各マシン上でnmEnrollを実行する必要があります。加えて、各マシン上の各ドメイン・ディレクトリについて、nmEnrollを実行することが必要です。 |
|
注意: nm_password.propertiesを手動で編集した場合(非推奨)、変更が反映されるようにノード・マネージャを再起動する必要があります。ノード・マネージャを実行している状態でWebLogic Server管理コンソールを使用して値を変更した場合は、再起動は必要ありません。 |
nm_password.propertiesファイルは、ノード・マネージャを実行する各物理マシンのドメイン・ディレクトリに存在している必要があります。ドメインのノード・マネージャのユーザー名とパスワードを変更した場合、nm_password.propertiesファイルを同期させるために各マシンでnmEnrollを実行する必要があります。マシンに複数のドメインを構成した場合、各ドメインで異なるノード・マネージャのユーザー名とパスワードを使用できます。
一般的な開発環境では、ドメイン作成時にノード・マネージャのユーザー名とパスワードの入力を求められないことがあります。ノード・マネージャのユーザー名とパスワードは、デフォルトでは管理者の資格証明ですが、これは、WebLogic Server管理コンソールまたはWLSTで変更できます。ただし、本番環境では、ノード・マネージャのユーザー名とパスワードを明示的に設定する必要があります。
ノード・マネージャを使用してサーバー・インスタンスを起動するには、リモート起動ユーザーのユーザー名とパスワードが必要です。管理サーバーと管理対象サーバーでは、これらの資格証明の指定方法が異なります。
管理対象サーバーの資格証明 - 管理対象サーバーを起動するためにノード・マネージャを呼び出す場合、リモート起動のユーザー名とパスワードはノード・マネージャによって管理サーバーから取得されます。
管理サーバーの資格証明: ノード・マネージャを起動して管理サーバーを起動すると、次の方法でリモート起動ユーザー名およびパスワードが付与されます。
コマンド行。ノード・マネージャによる管理サーバーの起動方法に関する項を参照してください。
管理サーバーのboot.propertiesファイルから。
構成ウィザードは、ドメインの作成時に管理サーバーのboot.propertiesファイルおよびstartup.propertiesファイルを初期化します。
次の手順で保護および暗号化された方法で生成されます。
フラグ-Dweblogic.nodemanager.ServiceEnabled=trueで管理サーバーを起動します。
DOMAIN_HOME\servers\AdminServer\data\nodemanagerディレクトリを作成します。
管理サーバーとノード・マネージャの両方が稼働している間に、任意の起動プロパティまたはサーバーの資格証明を更新します。
ノード・マネージャによって起動されたサーバー・インスタンスでは、自動再起動に使用するために、サーバーの起動に使用された資格証明が暗号化され、サーバー固有のboot.propertiesファイルに保存されます。
管理サーバーと管理対象サーバーは、一方向SSLを使用してJavaベースのノード・マネージャと通信します。
WebLogic Serverのデフォルト・インストールには、SSLを即時利用可能にするデモ用のアイデンティティ・キーストアおよび信頼キーストアが含まれています。DemoIdentity.jksはDOMAIN_HOME\securityディレクトリにインストールされ、DemoTrust.jksはWL_HOME\server\libにインストールされます。開発目的やテスト目的の場合は、このキーストア構成で十分です。
nodemanager.propertiesにあるCustomIdentityKeyStoreFileNameのプロパティを構成してノード・マネージャの証明書を設定します。ノード・マネージャは、独自の証明書を持つことも、そのドメインの他の機能と証明書を共有することもできます。ただし、クライアントがノード・マネージャ・インスタンスと通信するには、クライアントがノード・マネージャ証明書内のアイデンティティを信頼する必要があります。ノード・マネージャ・インスタンスごとに別の証明書を用意しなくてもかまいませんが、必要であればそのように構成することもできます。本番環境では、ノード・マネージャがすべてのサーバー・インスタンスに対して同じ公開証明書を使用できます。
本番環境用のSSLの構成には、ノード・マネージャのIDを取得してから、ノード・マネージャが通信する管理サーバーおよび管理対象サーバーについて、それぞれIDと信頼を構成することが必要です。また、ホスト名検証の使用と管理ポートを考慮に入れる必要があります。nodemanager.propertiesのSSL関連プロパティを確認するには、表4-1を参照してください。本番用のSSLコンポーネントの構成方法については、『Oracle WebLogic Serverセキュリティの管理 12c (12.2.1)』のSSLの構成に関する項を参照してください。
この項には次のトピックが含まれます:
ノード・マネージャ・プロセスに接続する各管理サーバーのリスニング・アドレスを確実に定義する必要があります。管理サーバーのリスニング・アドレスが定義されていない場合、ノード・マネージャは、管理対象サーバーの起動時に、その管理対象サーバーに対してlocalhostにアクセスして構成情報を取得するように指示します。
リスニング・アドレスは、WebLogic Server管理コンソールの「サーバー」→「構成」→「全般」ページで設定します。
スクリプトを使用して管理対象サーバーを起動、またはサーバーの停止が完了した後にスクリプトを実行するように、ノード・マネージャを構成できます。これらのスクリプトは、サーバー・インスタンスの起動前や停止後に実行する必要のあるタスクの実行に使用できます。スクリプトを使用して実行可能なタスクの一例としては、リモート・ディスクのマウントおよびアンマウントがあります。
|
注意: ノード・マネージャは、起動スクリプトを使用して任意の必要な構成を実行し、その後でサーバー・インスタンスを起動します。対照的に、停止スクリプトはサーバー・インスタンスの停止後に実行されます。 |
起動スクリプトおよび停止スクリプトを使用してサーバーの動作を制御する際には、提供されているスクリプトの一番上の行のみの編集をお薦めします。これにより、スクリプトの実行時に、必要なすべての環境変数が確実に使用されます。
起動スクリプトを使用すると、必要な起動プロパティの指定、および起動時に実行が必要なその他の任意の作業の実行ができます。起動スクリプトを定義するには:
nodemanager.propertiesファイル内のweblogic.StartScriptEnabledプロパティをtrueに設定します。(デフォルト値はtrueです。)起動スクリプトの名前がstartWebLogic.shまたはstartWebLogic.cmdの場合は、ノード・マネージャはそれらのスクリプトのいずれかをデフォルトとして使用します。
カスタム起動スクリプトを指定する場合は、nodemanager.propertiesファイル内のweblogic.StartScriptNameプロパティでスクリプトの名前またはパスを設定します。
|
注意: カスタムの起動スクリプトを作成する場合、startWebLogic.shをバックグラウンドで実行するのではなく、その場でサーバー・インスタンスを起動します。このようにすると、サーバー・インスタンスが実行中のときはカスタム・スクリプトのプロセスも実行中になります。例:
# custom stuff # custom stuff startWebLogic.sh |
ノード・マネージャは、JAVA_VENDOR、JAVA_HOME、JAVA_OPTIONS、SECURITY_POLICY、CLASSPATH、およびADMIN_URLを設定します。WebLogic Server管理コンソールを使用してサーバー・インスタンスを起動したり、WebLogic Server管理サーバーに接続されたWLSTを使用すると、これらの値がServerMBean、ServerStartMBeanおよびSSLMBeanから取り出されます。ノード・マネージャに直接接続されたWLSTを使用する場合は、値を指定できますが、使用しない場合は空白にします。
ノード・マネージャは、ServerStartMBean Arguments属性で指定されるすべてのコマンド行起動オプション(-Dフラグ)とSSLArgumentsを組み合わせ、JAVA_OPTIONSという1つの環境変数にします。SSLArgumentsは、SSLMBeanの値から取得されます。SSLMBeanは、ignoreHostnameVerification、HostnameVerifier、およびReverseDNSAllowedの各値があるか検査し、それらの値は-Dフラグに付加されます。すべてのフラグは、SSLArgumentsパラメータから構成されます。ServerStartMBean内のSSLArgumentsおよびArgumentsのすべての値は、起動スクリプトに定義されるJAVA_OPTIONS環境変数から構成されます。また、スクリプトは独自に定義した任意の値を環境変数に付加します。
この値のセットで結果としてオーバーラップが発生する場合、Javaコマンド行で次のように表示されます。
java -Dflag1=value1 -Dflag1=value2 weblogic.Server
Javaを呼び出すと、重複した値を解決できます。
停止スクリプトを使用すると、サーバー・インスタンスの障害発生または停止の後に必要となるタスクを実行できます。
停止スクリプトを定義するには:
nodemanager.propertiesファイル内のweblogic.StopScriptEnabledプロパティをtrueに設定します。
nodemanager.propertiesファイル内のweblogic.StopScriptNameプロパティで、スクリプトの名前を設定します。
次の例では、UNIXシステムでディスクのアンマウントに使用できる停止スクリプトを示します。
#!/bin/sh
FS=/cluster/d2
if grep $FS /etc/mnttab > /dev/null 2>&1 ; then
sync
PIDS=`/usr/local/bin/lsof $FS | awk
'{if ($2 ~/[0-9]+/) { print $2} }' | sort -u`
kill -9 $PIDS
sleep 1
sync
/usr/sbin/umount -f $FS
fi
nodemanager.domainsファイルには、ノード・マネージャ・インスタンスが制御するドメインを指定します。このため、スタンドアロンのクライアントではドメイン・ディレクトリを明示的に指定する必要はありません。
|
注意: ドメインごとのノード・マネージャを使用する場合は、nodemanager.domainsファイルに変更を加えないでください。ただし、ホストごとのノード・マネージャや、カスタムのノード・マネージャ・インスタンスを使用する場合は、nodemanager.domainsファイルでドメインを指定することが必要になる可能性があります。 |
このファイルには、ノード・マネージャ・インスタンスが制御する各ドメインのドメイン・ディレクトリを次の形式で指定するエントリが含まれている必要があります。
domain-name=domain-directory
ユーザーがドメインに対してコマンドを発行すると、ノード・マネージャはnodemanager.domainsからドメイン・ディレクトリをルックアップします。
このファイルではノード・マネージャ・クライアントのアクセスがファイル内に表示されたドメインに制限されるので、セキュリティがさらに強化されます。クライアントは、nodemanager.domainsに表示されたドメインに対してのみコマンドを実行できます。
Javaベースのノード・マネージャの場合、このファイルは通常、ORACLE_HOME\user_projects\domains\domain_name\nodemanagerにあります。構成ウィザードを使用してドメインを作成した場合は、nodemanager.domainsファイルは自動的に作成されています。ホストごとのノード・マネージャ・インスタンスを構成する場合は、nodemanager.domainsファイルをORACLE_HOME\oracle_common\common\nodemanagerの下、つまりホストごとのNodeManagerHomeの場所に手動で作成するかコピーする必要があります。詳細は、「ホストごとのノード・マネージャの構成」を参照してください。
必要であれば、nodemanager.domainsを手動で編集して、ドメインを追加したり、1つのドメイン名の下で複数のドメインの場所を登録することもできます。
複数ドメイン登録を構成するには、手動で代替パスを次の形式でnodemanager.domainsファイルに入力します。
domainName=primaryDomainPath;alternateDomainPath1;alternateDomainPath2
primaryDomainPathは、管理対象サーバーが存在するドメインの場所へのパスで、管理対象サーバーはこの場所から実行されます。一般的に、ドメインにアクセスするためのパスが管理サーバーからノード・マネージャに渡されることはありません。ドメインには、名前によってのみアクセス可能です。
alternateDomainPathは名前とパスによるアクセスのみが可能であり、一般的には管理サーバーの場所です。ノード・マネージャに直接接続するクライアントは、ドメイン名値とドメイン・パス値の両方を使用して代替ドメイン・パスにアクセスできます。
|
注意: nodemanager.domainsでバックスラッシュ文字(\)を使用している場合は、(\\)としてエスケープする必要があります。 |
ノード・マネージャ・プロパティは、Javaベースのノード・マネージャ・プロセスの様々な構成設定を定義します。ノード・マネージャ・プロパティは、コマンド行で指定するかnodemanager.propertiesファイルで定義できます。コマンド行で指定された値は、nodemanager.propertiesの値をオーバーライドします。
nodemanager.propertiesは、NodeManagerHomeで指定されたディレクトリ内に作成されます。ここでNodeManagerHomeは、通常ORACLE_HOME\user_projects\domains\domain_name\nodemanagerになります。NodeManagerHomeが定義されていなければ、nodemanager.propertiesはカレント・ディレクトリ内に作成されます。
ノード・マネージャを起動すると、そのたびにカレント・ディレクトリ内にnodemanager.propertiesが存在するかどうかが検索され、存在しない場合はこのファイルが作成されます。ノード・マネージャを1回は起動しない限り、このファイルにはアクセスできません。
多くの環境において、明示的に定義する必要のあるノード・マネージャ・プロパティはnodemanager.propertiesのSSL関連のプロパティのみです。ただし、nodemanager.propertiesには、環境やプリファレンスによっては指定する必要のある、SSL以外のプロパティも格納されます。例:
Windows以外のインストールでは、weblogic.StartScriptEnabledプロパティおよびNativeVersionEnabledプロパティを指定することが適当な場合もあります。
ノード・マネージャがマルチホーム・システムで動作し、それが使用するアドレスとポートを管理する必要がある場合は、ListenAddressおよびListenPortを定義します。
表4-1に、ノード・マネージャのプロパティを示します。
表4-1 ノード・マネージャのプロパティ
| ノード・マネージャ・プロパティ | 説明 | デフォルト |
|---|---|---|
|
|
|
true |
|
|
SSL認証に使用される証明書ファイルのパスを指定します。 注意: このプロパティは、WebLogic Serverバージョン7.xからバージョン9.xにアップグレードするプロセスでのみ使用されます。 |
none |
|
|
SSLリスナーで使用される暗号スイートの名前。 このプロパティはWebLogic Server 12.1.3.0で非推奨となりましたが、WebLogic Server 12.2.1ではまだ完全にサポートされます。置換プロパティの詳細および現在のサポート制限は、「 |
デフォルト値はJDKで、プラットフォームに依存しています。 |
|
|
SSLリスナーで使用される暗号スイートの名前。複数の暗号スイート値を、次の例のようにカンマで区切って指定できます。
WebLogic Server 12.1.3で導入されたこのプロパティは、WLSTオフラインまたは |
デフォルト値はJDKで、プラットフォームに依存しています。 |
|
|
スタンドアロンのCoherenceサーバーを起動するときに、ノード・マネージャがCoherenceインスタンスの起動スクリプトを使用するか直接Java呼出しを使用するかを指定します。 このプロパティはWebLogic Server 12.1.3.0で非推奨となりましたが、WebLogic Server 12.2.1ではまだ完全にサポートされます。置換プロパティの詳細および現在のサポート制限は、「 |
true |
|
|
このプロパティはWebLogic Server 12.1.3.0で非推奨となりましたが、WebLogic Server 12.2.1ではまだ完全にサポートされます。置換プロパティの詳細および現在のサポート制限は、「 |
none |
|
|
スタンドアロンのCoherenceサーバーを起動するときに、ノード・マネージャがCoherenceインスタンスの起動スクリプトを使用するか直接Java呼出しを使用するかを指定します。 WebLogic Server 12.1.3で導入されたこのプロパティは、WLSTオフラインまたは |
true |
|
|
WebLogic Server 12.1.3で導入されたこのプロパティは、WLSTオフラインまたは |
none |
|
|
適用されるのは、 WebLogic Server 12.1.3で導入されたこのプロパティは、WLSTオフラインまたは |
none |
|
|
システム・クラッシュのリカバリを有効にします。 注意: クラッシュ・リカバリのシナリオにおいて、 |
false |
|
|
秘密鍵をキーストアにロードするときの別名を指定します。このプロパティは、 |
none |
|
|
IDキーストア(ノード・マネージャの秘密鍵を格納するキーストア)のファイル名を指定します。このプロパティは、 |
none |
|
|
IDキーストアの作成時に定義されたパスワードを指定します。このフィールドが必須か省略可能かは、キーストアのタイプによって異なります。すべてのキーストアで、キーストアに書き込むためにはパスワードが必須です。ただし、一部のキーストアでは読込みにパスワードを必要としません。WebLogic Serverはキーストアから読み込むだけなので、このプロパティを定義するかどうかはキーストアの要件によります。 |
none |
|
|
IDキーストアのタイプを指定します。通常はJKS。このプロパティは省略可能です。 |
|
|
|
IDキーストアからWebLogic Serverの秘密鍵を取得するために使用するパスワードを指定します。このプロパティは、 |
none |
|
|
ノード・マネージャが共有ドメイン・ディレクトリをモニターするかどうかを指定します。指定すると、複数のノード・マネージャが別々のマシンから共有ディレクトリをモニターできます。
|
false |
|
|
|
NodeManagerHome\nodemanager.domains
|
|
|
|
true |
|
|
このプロパティはWebLogic Server 12.1.3.0で非推奨となり、将来のリリースで削除される可能性があります。 複数のドメインの場所を |
false |
|
|
この構成プロパティでは、 このプロパティはWebLogic Server 12.1.3.0で非推奨となりましたが、WebLogic Server 12.2.1ではまだ完全にサポートされます。置換プロパティの詳細および現在のサポート制限は、「 |
この場所はデフォルトで適切に設定されていますが、このプロパティを使用してスクリプトの場所を変更できます。 |
|
|
移行可能サーバーで使用されるプライマリ・インタフェース名。サーバーの移行では、各移行可能サーバーが使用するプライマリ・インタフェース名は同じである必要があります。 関連項目: このプロパティはWebLogic Server 12.1.3.0で非推奨となりましたが、WebLogic Server 12.2.1ではまだ完全にサポートされます。詳細は、「 |
|
|
|
インタフェース名、および移行可能サーバーが起動されたときにこの特定のネットワーク・インタフェースにバインドする必要がある対応するIPアドレスの範囲とオプションのネットマスク値。 構文: たとえば、1 - 4のアドレスを eth0=1-4,NetMask=255.255.255.0 bond0=5-8,NetMask=255.255.248.0
eth0=200.10.10.1-200.10.10.255 bond0=199.0.0.1-199.0.0.255 元の たとえば、これらのプロパティを次のように元の形式で指定した場合: Interface=oldEth0 NetMask=255.255.255.0 これを新しい形式で次のように指定した場合と同じになります: oldEth0=*,Netmask=255.255.255.0 アスタリスク(*)は、すべてのIPを表します。 |
|
|
|
管理対象サーバーのリモート起動ページにJavaホームが構成されていない場合、このマシン上の管理対象サーバーを起動するためにノード・マネージャで使用するJavaホーム・ディレクトリ。どちらでも指定されていない場合、ノード・マネージャはノード・マネージャ・プロセスに対して定義されているJavaホームを使用します。 注意: このプロパティはWLST このプロパティはWebLogic Server 12.1.3.0で非推奨となりましたが、WebLogic Server 12.2.1ではまだ完全にサポートされます。置換プロパティの詳細および現在のサポート制限は、WebLogic Serverプロセスの場合は「 |
none |
|
|
信頼キーストアの作成時に定義されたパスワードを指定します。このフィールドが必須か省略可能かは、キーストアのタイプによって異なります。すべてのキーストアで、キーストアに書き込むためにはパスワードが必須です。ただし、一部のキーストアでは読込みにパスワードを必要としません。WebLogic Serverはキーストアから読み込むだけなので、このプロパティを定義するかどうかはキーストアの要件によります。このプロパティは、 |
none |
|
|
管理サーバーでSSL通信に使用する秘密鍵・ファイルのパス。 注意: このプロパティは、WebLogic Serverバージョン7.xからバージョン9.xにアップグレードするプロセスでのみ使用されます。 |
none |
|
|
キー・ファイル内の暗号化された秘密鍵にアクセスするためのパスワード。 注意: このプロパティは、WebLogic Serverバージョン7.xからバージョン9.xにアップグレードするプロセスでのみ使用されます。 |
none |
|
|
ID(秘密鍵とデジタル証明書)および信頼(信頼性のあるCA証明書)を検索するためにノード・マネージャで使用する、キーストア構成を示します。指定できる値は次のとおりです。
|
DemoIdentityAndDemoTrust |
|
|
ノード・マネージャを実行しているマシンが接続リクエストをリスニングできるアドレス。この引数により、 |
null この設定を使用すると、ノード・マネージャはマシンのIPアドレスでリスニングします。 |
|
|
リスナーが受け付けるノード・マネージャのバックログ・リクエストの最大数。バックログされたリクエストが処理されるまで、追加の着信リクエストは削除されます。通常、このプロパティを調整する必要はありません。 ただし、高負荷状態の場合に(ノード・マネージャでの同時リクエストが50を超える)、ノード・マネージャへの接続の一部が失敗する可能性があります。ノード・マネージャが数多くのサーバー・インスタンスに接続する大規模な環境で、接続の切断が発生する場合(大規模クラスタでのコンセンサス・リースなど)、 |
50 |
|
|
ノード・マネージャが接続リクエストをリスニングするTCPポート番号。この引数により、 |
5556 |
|
|
|
true |
|
|
|
1 |
|
|
ノード・マネージャのログ・ファイルの場所。 |
NodeManagerHome\nodemanager.log
|
|
|
ノード・マネージャのログ・メッセージに使用されるフォーマッタ・クラス名。 |
weblogic.nodemanager.server.LogFormatter |
|
|
ノード・マネージャのログに使用されるロギングの重大度。ノード・マネージャは、 |
INFO |
|
|
ノード・マネージャのログの大まかな最大サイズを整数として指定します。この上限に達すると、新しいログ・ファイルが開始されます。 |
unlimited |
|
|
|
false |
|
|
trueに設定すると、オペレーティング・システムのネイティブ・ライブラリが使用されます。 SolarisまたはLinux以外のUNIXシステムでは、このプロパティをfalseに設定してノード・マネージャを非ネイティブ・モードで実行します。このようにすると、ノード・マネージャは
|
true |
|
|
ネットワークのサブネット・マスク。サーバーの移行では、サーバー間のユニキャストおよびマルチキャストの通信が行えるように、各管理対象サーバーが同じサブネット・マスクを使用する必要があります。 関連項目: このプロパティはWebLogic Server 12.1.3.0で非推奨となりましたが、WebLogic Server 12.2.1ではまだ完全にサポートされます。詳細は、「 |
|
|
|
次の構成およびログ・ファイルが格納されたノード・マネージャのルート・ディレクトリ。
これらのファイルの詳細は、「ノード・マネージャの構成ファイルとログ・ファイル」を参照してください。 複数のノード・マネージャ・インスタンスが同じ たとえば、各ホスト名に基づく一意のディレクトリを作成してから、ホスト名ディレクトリを使用して各 注意: デフォルトでは、 注意: このプロパティはWLST |
NodeManagerHome
|
|
|
|
none |
|
|
WLSTは、 |
false |
|
|
|
true |
|
|
trueの場合は、 このプロパティはWebLogic Server 12.1.3.0で非推奨となりましたが、WebLogic Server 12.2.1ではまだ完全にサポートされます。置換プロパティの詳細および現在のサポート制限は、「 |
true |
|
|
ドメイン・ディレクトリにある起動スクリプトの名前またはパス。 このプロパティはWebLogic Server 12.1.3.0で非推奨となりましたが、WebLogic Server 12.2.1ではまだ完全にサポートされます。置換プロパティの詳細および現在のサポート制限は、「 |
startWebLogic.sh (UNIX) または startWebLogic.cmd (Windows) |
|
|
ノード・マネージャがサーバーの状態チェックを実行するまでに待機する間隔を指定します。 |
500 milliseconds |
|
|
このプロパティはWebLogic Server 12.1.3.0で非推奨となりましたが、WebLogic Server 12.2.1ではまだ完全にサポートされます。置換プロパティの詳細および現在のサポート制限は、「 |
false |
|
|
サーバー停止後に実行されるスクリプトの名前。 このプロパティはWebLogic Server 12.1.3.0で非推奨となりましたが、WebLogic Server 12.2.1ではまだ完全にサポートされます。置換プロパティの詳細および現在のサポート制限は、「 |
none |
|
|
ARPパケット送信時にノードのMACアドレスを使用するかどうか、つまり このプロパティはWebLogic Server 12.1.3.0で非推奨となりましたが、WebLogic Server 12.2.1ではまだ完全にサポートされます。置換プロパティの詳細および現在のサポート制限は、「 |
|
|
|
WebLogic Serverがインストールされるルート・ディレクトリ。リモート起動ページにルート・ディレクトリが構成されていない管理対象サーバーで |
none |
|
|
この構成プロパティでは、 WebLogic Server 12.1.3で導入されたこのプロパティは、WLSTオフラインまたは |
この場所はデフォルトで適切に設定されていますが、このプロパティを使用してスクリプトの場所を変更できます。 |
|
|
trueの場合は、 WebLogic Server 12.1.3で導入されたこのプロパティは、WLSTオフラインまたは |
true |
|
|
ドメイン・ディレクトリにある起動スクリプトの名前またはパス。 WebLogic Server 12.1.3で導入されたこのプロパティは、WLSTオフラインまたは |
startWebLogic.sh (UNIX) または startWebLogic.cmd (Windows) |
|
|
適用されるのは、 WebLogic Server 12.1.3で導入されたこのプロパティは、WLSTオフラインまたは |
none |
|
|
WebLogic Server 12.1.3で導入されたこのプロパティは、WLSTオフラインまたは |
false |
|
|
サーバー停止後に実行されるスクリプトの名前。 WebLogic Server 12.1.3で導入されたこのプロパティは、WLSTオフラインまたは |
none |
|
|
ARPパケット送信時にノードのMACアドレスを使用するかどうか、つまり WebLogic Server 12.1.3で導入されたこのプロパティは、WLSTオフラインまたは |
|
サーバー・インスタンスのグループを同じノード・マネージャ・インスタンスで起動する場合は、特定のマシン・レベル設定をnodemanager.propertiesファイル内で一度構成するだけで、その設定をグループ内のすべてのサーバー・インスタンスに適用できます。マシン・レベルの属性を設定しておくと、共通の設定をサーバー・インスタンスごとにServerStartMBean内で構成する必要がなくなるため、構成が単純になります。
サーバー・インスタンス固有の設定を直接ServerStartMBean内で構成した場合は、その値はnodemanager.propertiesファイル内で構成された値よりも優先されます。
表4-2は、同じノード・マネージャ・インスタンスで起動されるサーバー・インスタンスのグループのためにnodemanager.propertiesで構成できる、マシン・レベルの設定の説明です。
表4-2 サーバー・インスタンスのグループのためのマシン・レベルのノード・マネージャ・プロパティ
| プロパティ名 | 説明 |
|---|---|
|
|
サーバー・インスタンスの起動時に使用されるJava引数。 これらは、起動コマンドの 引数はスペースで区切ります。 |
|
|
このサーバー・インスタンスの起動時に使用される ノード・マネージャ・マシン上の、すべてのOracle Middleware製品がインストールされているディレクトリを指定します。たとえば、 |
|
|
サーバー・インスタンスの起動時に使用されるJava引数。 ノード・マネージャは、 |
|
|
サーバー・インスタンス用に構成された引数の前にフラグを付加します。 |
|
|
このサーバー・インスタンスの起動時に使用するクラスパス(ノード・マネージャを実行しているマシン上のパス)。 ノード・マネージャは、 |
|
|
サーバー・インスタンスの起動時に使用されるJavaベンダー値。 Javaコマンド行を呼び出してサーバー・インスタンスを起動するときは、この値はノード・マネージャから渡されません。この値は、環境変数 |
|
|
このサーバー・インスタンスの起動時に使用される この値は、ノード・マネージャから起動スクリプトに渡されません。Javaコマンド行を発行してサーバー・インスタンスを起動するときは、 |
|
|
このサーバー・インスタンスの起動時に使用されるセキュリティ・ポリシー・ファイル(ノード・マネージャを実行しているマシン上のディレクトリおよびファイル名)。 ノード・マネージャが起動スクリプトを使用するときは、セキュリティ・ポリシー・ファイルは環境変数 |
|
|
サーバー・インスタンスのグループID。 |
|
|
サーバー・インスタンスのユーザーID。 |
WebLogic Server管理コンソールの、管理対象サーバーの「サーバー」→「構成」→「サーバーの起動」ページで、ノード・マネージャが管理対象サーバーの起動に使用する起動引数を指定します。管理対象サーバーの起動引数を指定しなかった場合は、その管理対象サーバーに適したデフォルト値が使用されます。Javaベース実装を使用する場合は、ノード・マネージャ独自のプロパティが管理対象サーバー起動時のデフォルトとして使用されます。スクリプト・ベース実装を使用する場合は、起動スクリプトによってデフォルト値が設定されます。詳細は、nodemanager.propertiesのレビューを参照してください。
それらのデフォルトでも管理対象サーバーを起動することができますが、起動プロセスの一貫性と信頼性を確保するためには、管理対象サーバー・インスタンスごとに起動引数を構成します。指定された起動引数は管理対象サーバーの起動にのみ使用されます。ノード・マネージャによって起動される管理サーバー・インスタンスで使用されることはありません。
ノード・マネージャをWindowsサービスとして実行する場合は(「起動サービスとしてのノード・マネージャの実行」を参照)、ノード・マネージャの制御下に置かれる管理対象サーバーごとにJVMの-Xrsプロパティを構成する必要があります。
このオプションを設定しない場合、ノード・マネージャはシステムの再起動後に管理対象サーバーを再起動できません。それは、次のような一連のイベントが発生するためです。
再起動が行われると、ノード・マネージャ・サービスと管理サーバーのオペレーティング・システム・サービスが停止される前に、実行中の管理対象サーバーが強制終了されます。
管理対象サーバーの強制終了と、ノード・マネージャ・サービスの停止の間の間隔に、ノード・マネージャは継続して管理対象サーバーをモニターし、それが強制終了されたことを検出し、再起動を行おうとします。
マシンが停止しようとしているので、オペレーティング・システムは管理対象サーバーの再起動を許可しません。
ノード・マネージャは障害が発生したものとして管理対象サーバーにマークを付け、マシンが再起動したときにそのサーバーを起動しません。
-Xrsオプションまたは-Xnohup オプションを使用して管理対象サーバーを起動すると、マシンの停止時に管理対象サーバーを即座に停止しないようになり、このような一連のイベントが回避されます。
ノード・マネージャを使用して、サーバー・インスタンスの起動プロパティを設定できます。これらのプロパティは、startup.propertiesで定義することも、WLSTなどの管理ユーティリティを使用してオブジェクトとして渡すこともできます。起動プロパティと、その有効な値を設定する方法を、次の項で概説します。
ノード・マネージャは、startup.propertiesファイルを使用して、サーバー・インスタンス起動時の起動構成を決定します。このファイルは、サーバー・インスタンスごとに定義されており、下記の場所に置かれています。DOMAIN_HOME/servers/server_name/data/nodemanager/startup.properties
startup.propertiesの内容は、サーバーMBeanから導出されるか、サーバー・インスタンスがクラスタの一部である場合は、クラスタMBeanから導出されます。詳細は、Oracle WebLogic Server MBeanリファレンスを参照してください。
WLSTのnmStartコマンドを使用するときは、サーバーの構成を直接特定することはできません。したがって、サーバーの起動プロパティをWLSTプロパティ・オブジェクトとしてnmStartコマンドに渡す必要があります。
次に示すサーバー起動プロパティは、ノード・マネージャを使用してサーバー・インスタンスを起動するときにサーバー・インスタンスに渡すことができます。
表4-3 サーバーの起動プロパティ
| プロパティ | 説明 |
|---|---|
|
|
管理サーバーのURL。 注意:この値は、管理対象サーバーの |
|
|
サーバー・インスタンスの起動時に使用される引数。 |
|
|
サーバー・インスタンスがノード・マネージャによって起動されるときに、この属性によって、 |
|
|
このサーバー・インスタンスで障害が発生した場合にノード・マネージャが自動的に再起動できるかどうかを指定します。 注意: クラッシュ・リカバリのシナリオにおいて、 |
|
|
サーバー・インスタンスの起動時に使用されるクラス・パス。 |
|
|
サーバー・インスタンスの起動時に使用されるJavaホーム・ディレクトリを定義します。 |
|
|
サーバー・インスタンスの起動時に使用されるOracleホーム・ディレクトリ。 |
|
|
ノード・マネージャがサーバー・インスタンスの再起動を試行する前に待機する秒数。 |
|
|
障害が発生したサーバー・インスタンスの再起動をノード・マネージャが試行する時間の長さ。この期間中、ノード・マネージャは |
|
|
ノード・マネージャが、 |
|
|
このサーバーを起動する際に使用するセキュリティ・ポリシー・ファイルを指定します。 |
|
|
サーバーのIPアドレス。 |
|
|
これらの引数は、ドメイン全体の管理ポートを有効化した場合に使用されます。 |
デフォルトでは、ノード・マネージャを起動する前に追加の環境変数を設定する必要はありません。WebLogic Serverとともに提供されるノード・マネージャのサンプル起動スクリプトおよびインストール・サービス・スクリプトでは、必須の変数が設定され、ノード・マネージャのデフォルト・アドレスlocalhostへのリスニングを開始します。
デフォルト以外のアドレスでノード・マネージャのリスニングを開始するには、次のいずれかの方法を使用します。
nodemanager.propertiesファイルを編集します。
LISTEN_ADDRESS変数を<host>に、LISTEN_PORT変数を<port>に設定してからstartNodeManagerスクリプトを呼び出します。「nodemanager.propertiesのレビュー」を参照してください。
startNodeManagerスクリプトの実行時に値を設定します。
startNodeManagerスクリプトは、コマンド行から入力した最初の2つの位置指定パラメータをLISTEN_ADDRESSおよびLISTEN_PORTに設定します。
たとえば、ノード・マネージャをホストllamaおよびポート7777で起動するには次のコマンドを入力します。
startNodeManager.cmd llama 7777 (Windows) sh startNodeManager.sh llama 7777 (UNIX)
ノード・マネージャをホストllamaで起動するには次のコマンドを入力します。
startNodeManager.cmd llama (Windows) sh startNodeManager.sh llama (UNIX)
本番環境では、ノード・マネージャに対してデフォルト以外のリスニング・アドレスを構成すると、他のマシンからのトラフィックがノード・マネージャまで到達しやすくなります。また、マルチホーム・マシンや複数のネットワーク・インタフェース・カードがあるマシンでは、ノード・マネージャはマシン上のいずれかのアドレスをリスニングできます。
表4-4 ノード・マネージャの環境変数
| 環境変数 | 説明 |
|---|---|
CLASSPATH |
ノード・マネージャ Windows NTの例: set CLASSPATH=.;% |
JAVA_HOME |
ノード・マネージャで使用されるJDKルート・ディレクトリ。例: set JAVA_HOME=c:\jdk1.7.0_06 ノード・マネージャには、WebLogic Serverと同じJDKのバージョンに関する必要条件があります。 |
LD_LIBRARY_PATH (UNIXおよびLinux) |
Solarisシステムの場合、ネイティブ・ノード・マネージャ・ライブラリのパスを指定する必要があります。 Solarisの例: LD_LIBRARY_PATH:$WL_HOME/server/lib/solaris:$WL_HOME/server/lib/solaris/oci816_8 Linuxの例: LD_LIBRARY_PATH:$WL_HOME/server/native/linux:$WL_HOME/server/native/linux/i686 注意: Linuxは |
PATH |
WebLogic ServerのbinディレクトリとJava実行ファイルのパスを指定する必要があります。例: set PATH=%WL_HOME%\server\bin;%JAVA_HOME%\bin;%PATH% |
WL_HOME |
WebLogic Serverのインストール・ディレクトリ。例: set WL_HOME=c:\Oracle\Middleware\Oracle_Home\wlserver |
inetdまたはxinetdサービスとして実行するようにノード・マネージャを構成する場合は、次の考慮事項が適用されます。
NodeManagerHomeおよび他のシステム・プロパティが定義されていることを確認します。
xinetdがlibwrapと共に構成されている場合は、NOLIBWRAPフラグを追加する必要があります。
hosts.denyおよびhosts.allowファイルが適切に構成されていることを確認します。
ネットワーク環境によっては、追加の構成が必要になる場合があります。
次の例では、xinetd内にノード・マネージャを構成する方法を示します。
# # Create the $domaindir/bin/startNMService.sh script or the
# $WL_HOME/server/bin/startNMService.sh script to produce output to a file. # #!/bin/sh $domaindir/bin/startNodeManager.sh >> $NM_HOME/nmservice.out 2>&1 # # The service can now take advantage of the startNMService script. # # default: off # description:nodemanager as a service service nodemanager-svc { type = UNLISTED disable = yes socket_type = stream protocol = tcp wait = yes user = <username> port = 5556 flags = NOLIBWRAP log_on_success += DURATION HOST USERID server = /scratch/jdorr/dom1213/bin/startNMService.sh env = MW_HOME=/Oracle/Middleware/Oracle_Home_WLS_12.2.1 JAVA_HOME=/Java/jdk1.7.0_51LD_LIBRARY_PATH=/Oracle/Middleware/Oracle_Home_WLS_12.2.1/bea/wlserver/server/native/linux/x86_64:/usr/lib:/lib:/usr/X11R6/lib }
ノード・マネージャは、init起動スクリプトを使用してinit.dサービスとして構成できます。この項には次のトピックが含まれます:
ドメインごとのノード・マネージャをinit.dサービスとしてインストールおよび構成するには、次の手順を実行します。すべてのアクションをrootユーザーとして実行します。
|
注意: ノード・マネージャがinit.dサービスとして実行されている場合、起動された管理対象サーバーはrootユーザーによって所有されています。管理対象サーバーをroot以外のユーザーとして起動するには、管理コンソールを使用して、「ドメイン」→「環境」→「マシン」→「構成」→「一般」ページで「バインド後のユーザーID」属性および「バインド後のグループID」属性を有効にします。その後、ノード・マネージャおよび管理サーバーを再起動してから、管理対象サーバーを再起動します。 |
サービス名を決定します。以降の手順では、このサービス名を<service name>と表記します。
命名のパターンをDOMAIN_NAME-nodemanager (base_domain-nodemanagerなど)とすることをお薦めします。
例4-3のサンプル・スクリプトを/etc/init.d/<service name>にコピーします。
/etc/init.d/<service name>を編集し、次に示す変数を実際の環境およびインストールに合せて変更します。
例4-3の###BEGIN INIT INFOセクションにあるProvides設定。
例4-3の###BEGIN CUSTOM ENVセクションにあるDOMAIN_HOME設定。
chmod +xコマンドを使用して/etc/init.d/<service name>を実行可能にします。
init.dサービスを、sudo /sbin/chkconfig --add <service name>で追加します。
サービスを起動、停止、再起動する、またはステータスを表示するには、次のコマンドを使用します。
| サービスを起動するには: | sudo /sbin/service <service name> start |
| サービスを停止するには: | sudo /sbin/service <service name> stop |
| サービスを再起動するには: | sudo /sbin/service <service name> restart |
| サービスのステータスを表示するには: | sudo /sbin/service <service name> status |
例4-3 init.dサービスとしてのドメインごとのノード・マネージャの構成
#!/bin/sh
#
# chkconfig: 345 85 15
# description: per domain Oracle Weblogic Node Manager service init script
### BEGIN INIT INFO
# Provides: jtest-dom1213-nodemanager
# Required-Start: $network $local_fs
# Required-Stop:
# Should-Start:
# Should-Stop:
# Default-Start: 3 4 5
# Default-Stop: 0 1 2 6
# Short-Description: per domain Oracle Weblogic Node Manager service.
# Description: Starts and stops per domain Oracle Weblogic Node Manager.
### END INIT INFO
. /etc/rc.d/init.d/functions
#### BEGIN CUSTOM ENV
DOMAIN_HOME="/scratch/jdorr/dom1213"
MW_HOME=/Oracle/Middleware/Oracle_Home_WLS_12.2.1
JAVA_HOME=/Java/jdk1.7.0_51
LD_LIBRARY_PATH=/Oracle/Middleware/Oracle_Home_WLS_12.2.1/bea/wlserver/server/native/linux/x86_64:/usr/lib:/lib:/usr/X11R6/lib
#### END CUSTOM ENV
PROCESS_STRING="^.*$DOMAIN_HOME.*weblogic.NodeManager.*"
PROGRAM_START="$DOMAIN_HOME/bin/startNodeManager.sh"
NODEMANAGER_DIR=$DOMAIN_HOME/nodemanager
NODEMANAGER_LOCKFILE="$NODEMANAGER_DIR/nodemanager.log.lck"
OUT_FILE="$NODEMANAGER_DIR/nodemanager.out"
SERVICE_NAME=`/bin/basename $0`
LOCKFILE="/var/lock/subsys/$SERVICE_NAME"
RETVAL=0
start() {
OLDPID=`/usr/bin/pgrep -f $PROCESS_STRING`
if [ ! -z "$OLDPID" ]; then
echo "$SERVICE_NAME is already running (pid $OLDPID) !"
echo
exit
fi
echo -n $"Starting $SERVICE_NAME ... "
echo "`date` Starting $SERVICE_NAME ... " > $OUT_FILE 2>&1
export MW_HOME
export JAVA_HOME
export LD_LIBRARY_PATH
$PROGRAM_START >> $OUT_FILE 2>&1 &
RETVAL=$?
if [ $RETVAL -eq 0 ] ; then
wait_for "socket listener started on port"
else
echo "FAILED: $RETVAL. Please check $OUT_FILE for more information."
fi
echo
}
wait_for() {
res=$(cat "$OUT_FILE" | fgrep -c "$1")
count=60
while [[ ! $res -gt 0 ]] && [[ $count -gt 0 ]]
do
sleep 1
count=$(($count - 1))
res=$(cat "$OUT_FILE" | fgrep -c "$1")
done
res=$(cat "$OUT_FILE" | fgrep -c "$1")
if [ ! $res -gt 0 ]; then
echo "FAILED or took too long time to start. Please check $OUT_FILE for more information."
else
echo "OK"
touch $LOCKFILE
fi
}
stop() {
echo -n $"Stopping $SERVICE_NAME ... "
OLDPID=`/usr/bin/pgrep -f $PROCESS_STRING`
if [ "$OLDPID" != "" ]; then
echo -n "(pid $OLDPID) "
/bin/kill -TERM $OLDPID
RETVAL=$?
echo "OK"
/bin/rm -f $NODEMANAGER_LOCKFILE
[ $RETVAL -eq 0 ] && rm -f $LOCKFILE
else
/bin/echo "$SERVICE_NAME is stopped"
fi
echo
}
restart() {
stop
sleep 10
start
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart|force-reload|reload)
restart
;;
condrestart|try-restart)
[ -f $LOCKFILE ] && restart
;;
status)
OLDPID=`/usr/bin/pgrep -f $PROCESS_STRING`
if [ "$OLDPID" != "" ]; then
/bin/echo "$SERVICE_NAME is running (pid: $OLDPID)"
else
/bin/echo "$SERVICE_NAME is stopped"
fi
echo
RETVAL=$?
;;
*)
echo $"Usage: $0 {start|stop|status|restart|reload|force-reload|condrestart}"
exit 1
esac
exit $RETVAL
ホストごとのノード・マネージャをinit.dサービスとしてインストールおよび構成するには、次の手順を実行します。すべてのアクションをrootユーザーとして実行します。
開始する前に、ホストごとのノード・マネージャがドメイン内で正しく構成されていることを確認し、その後でこのスクリプトを使用してください。「ホストごとのノード・マネージャの構成」を参照してください。
サービス名を決定します。以降の手順では、このサービス名を<service name>と表記します。
命名のパターンを<a brief name for MW_HOME>-nodemanager (wls12.2.1-nodemanagerなど)とすることをお薦めします。
例4-4のサンプル・スクリプトを/etc/init.d/<service name>にコピーします。
/etc/init.d/<service name>を編集し、次に示す変数を実際の環境およびインストールに合せて変更します。
chmod +xコマンドを使用して/etc/init.d/<service name>を実行可能にします。
init.dサービスを、sudo /sbin/chkconfig --add <service name>で追加します。
サービスを起動、停止、再起動する、またはステータスを表示するには、次のコマンドを使用します。
| サービスを起動するには: | sudo /sbin/service <service name> start |
| サービスを停止するには: | sudo /sbin/service <service name> stop |
| サービスを再起動するには: | sudo /sbin/service <service name> restart |
| サービスのステータスを表示するには: | sudo /sbin/service <service name> status |
例4-4 init.dサービスとしてのホストごとのノード・マネージャの構成
#!/bin/sh
#
# chkconfig: 345 85 15
# description: global (per host) Oracle Weblogic Node Manager service init script
### BEGIN INIT INFO
# Provides: jjjnm
# Required-Start: $network $local_fs
# Required-Stop:
# Should-Start:
# Should-Stop:
# Default-Start: 3 4 5
# Default-Stop: 0 1 2 6
# Short-Description: per host Oracle Weblogic Node Manager service
# Description: Starts and stops per host Oracle Weblogic Node Manager
### END INIT INFO
. /etc/rc.d/init.d/functions
#### BEGIN CUSTOM ENV
MW_HOME=/Oracle/Middleware/Oracle_Home_WLS_12.2.1
JAVA_HOME=/Java/jdk1.7.0_51
LD_LIBRARY_PATH=/Oracle/Middleware/Oracle_Home_WLS_12.2.1/bea/wlserver/server/native/linux/x86_64:/usr/lib:/lib:/usr/X11R6/lib
#### END CUSTOM ENV
PROGRAM_START="$MW_HOME/wlserver/server/bin/startNodeManager.sh"
NODEMANAGER_DIR="$MW_HOME/wlserver/../oracle_common/common/nodemanager"
NODEMANAGER_LOCKFILE="$NODEMANAGER_DIR/nodemanager.log.lck"
OUT_FILE="$NODEMANAGER_DIR/nodemanager.out"
PROCESS_STRING="^.*\-Dweblogic.RootDirectory=$NODEMANAGER_DIR.*weblogic.NodeManager.*"
SERVICE_NAME=`/bin/basename $0`
LOCKFILE="/var/lock/subsys/$SERVICE_NAME"
RETVAL=0
start() {
OLDPID=`ps -e -o pid,command:1000 | grep "$PROCESS_STRING" | grep -v " grep " | awk '{print $1}'`
if [ ! -z "$OLDPID" ]; then
echo "$SERVICE_NAME is already running (pid $OLDPID) !"
echo
exit
fi
if [ ! -e "$NODEMANAGER_DIR" ]; then
echo "$NODEMANAGER_DIR does not exist. The per host Node Manager is not configured correctly."
echo "Please follow steps in Pre-Condition section before using this script."
echo
exit
fi
echo -n $"Starting $SERVICE_NAME ... "
echo "`date` Starting $SERVICE_NAME ... " > $OUT_FILE 2>&1
export MW_HOME
export JAVA_HOME
export LD_LIBRARY_PATH
$PROGRAM_START >> $OUT_FILE 2>&1 &
RETVAL=$?
if [ $RETVAL -eq 0 ] ; then
wait_for "socket listener started on port"
else
echo "FAILED: $RETVAL. Please check $OUT_FILE for more information."
fi
echo
}
wait_for() {
res=$(cat "$OUT_FILE" | fgrep -c "$1")
count=60
while [[ ! $res -gt 0 ]] && [[ $count -gt 0 ]]
do
sleep 1
count=$(($count - 1))
res=$(cat "$OUT_FILE" | fgrep -c "$1")
done
res=$(cat "$OUT_FILE" | fgrep -c "$1")
if [ ! $res -gt 0 ]; then
echo "FAILED or took too long time to start. Please check $OUT_FILE for more information."
else
echo "OK"
touch $LOCKFILE
fi
}
stop() {
echo -n $"Stopping $SERVICE_NAME ... "
OLDPID=`ps -e -o pid,command:1000 | grep "$PROCESS_STRING" | grep -v " grep " | awk '{print $1}'`
if [ "$OLDPID" != "" ]; then
echo -n "(pid $OLDPID) "
/bin/kill -TERM $OLDPID
RETVAL=$?
echo "OK"
/bin/rm -f $NODEMANAGER_LOCKFILE
[ $RETVAL -eq 0 ] && rm -f $LOCKFILE
else
/bin/echo "$SERVICE_NAME is stopped"
fi
echo
}
restart() {
stop
sleep 10
start
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart|force-reload|reload)
restart
;;
condrestart|try-restart)
[ -f $LOCKFILE ] && restart
;;
status)
OLDPID=`ps -e -o pid,command:1000 | grep "$PROCESS_STRING" |grep -v " grep " | awk '{print $1}'`
if [ "$OLDPID" != "" ]; then
/bin/echo "$SERVICE_NAME is running (pid: $OLDPID)"
else
/bin/echo "$SERVICE_NAME is stopped"
fi
echo
RETVAL=$?
;;
*)
echo $"Usage: $0 {start|stop|status|restart|reload|force-reload|condrestart}"
exit 1
esac
exit $RETVAL