プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle WebLogic Server 12.1.3 ノード・マネージャの管理
12c (12.1.3)
E56251-06
  目次へ移動
目次

前
 
次
 

4 Javaノード・マネージャの構成

この章では、WebLogic Server 12.1.3で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.propertiesDOMAIN_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スクリプトを編集して適切なリスニング・アドレスとリスニング・ポートの値を指定することが必要になる可能性があります。

  1. DOMAIN_HOME\binディレクトリに移動します。

  2. installNodeMgrSvc.cmdを編集して、ノード・マネージャのリスニング・アドレスとリスニング・ポートを指定します。

    installNodeMgrSvc.cmdの場合と同じ編集をuninstallNodeMgrSvc.cmdでも行います。そうすれば、今後必要に応じてサービスを正常にアンインストールできます。

  3. 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をホストごとのノード・マネージャ構成で使用する場合は、独自の証明書ファイルを作成する必要があります。


  1. ホストごとのNodeManagerHomeの場所であるORACLE_HOME\oracle_common\common\nodemanagerに、このノード・マネージャ・インスタンスが制御するドメインを指定するnodemanager.domainsファイルを作成します。

    • このファイルは、手動で作成するかコピーできます。「nodemanager.domainsファイルの構成」を参照してください。

    • あるいは、WLSTコマンドnmEnrollを使用して、WebLogicドメインをノード・マネージャに登録することも可能です。

    nodemanager.domainsファイルに複数のドメインを指定することにより、以前のWebLogic Serverリリースからのノード・マネージャ機能と同様、複数のWebLogic Serverドメインに属するサーバー・インスタンスを管理する、マシンにスコープ指定された単独ノード・マネージャ・プロセスを構成できます。

  2. ノード・マネージャ・プロセスを実行するマシンごとに、マシン定義を構成します。詳細は、「ノード・マネージャを使用するためのマシンの構成」を参照してください。

  3. デモ用のIDキーストアおよび信頼キーストアは、開発目的またはテスト目的に限定して使用することをお薦めしますが、次の例に示すようにCertGenおよびImportPrivateKey Javaユーティリティを使用して作成できます。

    1. PATH変数およびCLASSPATH変数を適切に設定するには、コマンド・プロンプトからWL_HOME\server\bin\setWLSEnv.cmdを実行します。


      注意:

      UNIXオペレーティング・システムでは、setWLSEnv.shコマンドはすべてのコマンド・シェルで環境変数を設定しません。Kornシェルまたはbashシェルを使用してこのコマンドを実行してください。

    2. 証明書と秘密鍵を生成します。

      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
      
    3. 秘密鍵と証明書をインポートします。

      java utils.ImportPrivateKey -keystore DemoIdentity.jks -storepass DemoIdentityKeyStorePassPhrase -keyfile demokey -keyfilepass
      DemoIdentityPassPhrase -certfile democert.pem -keyfile demokey.pem -alias demoidentity
      

      DemoIdentity.jksキーストアに、1つの秘密鍵と証明書エントリが格納されました。他のファイルは削除できます。

    4. 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つのドメインの管理対象サーバーが複数の物理マシン上に存在している場合は、次の手順を実行します。

  1. ノード・マネージャが各マシン上にインストールされて構成されていることを確認します。

    複数マシン上でノード・マネージャを構成するときは、どのタイプのノード・マネージャも使用できます(ドメインごと、ホストごと、カスタム)。ただし、同じノード・マネージャ・タイプをすべてのマシンに使用してください。

    NodeManagerHomeの場所とnodemanager.propertiesファイルを作成します。デフォルトでは、NodeManagerHomeDOMAIN_HOME\nodemanagerです。本番環境では、ノード・マネージャのルート・ディレクトリの場所をカスタマイズすることが必要な場合があります。nodemanager.propertiesファイルは、NodeManagerHomeで指定されたディレクトリに作成され、このファイルでノード・マネージャのプロパティが指定されます。「nodemanager.propertiesのレビュー」を参照してください。


    注意:

    NodeManagerHomeの場所を複数のノード・マネージャ・インスタンスで共用しないでください。

    したがって、共有ドライブを使用するシナリオでは、NodeManagerHomeの場所がマシンごとに異なっている必要があります。たとえば、ホスト名サブディレクトリをNodeManagerHomeの下に作成し、すべてのファイルをこのホスト名サブディレクトリにコピーします。


  2. ドメインをノード・マネージャに登録するには、packおよびunpackコマンドを使用してすべての必須ドメインおよび構成情報をマシン間でコピーすることをお薦めします。『PackおよびUnpackコマンドによるテンプレートとドメインの作成』のノード・マネージャの構成に関する項を参照してください。WLSTのコマンドnmEnrollを使用してこのアクションを実行することもできます。

  3. 管理サーバー内に、各ノード・マネージャ・インスタンスを指す対応MachineMBeanを作成し、どのマシンからでもノード・マネージャを使用して管理対象サーバーを起動できるようにします。

    管理対象サーバーの起動に管理サーバーが関与する場合は、ターゲットであるMachineMBean内の情報を使用して正しいノード・マネージャ・インスタンスとの接続が作成されます。これは、WebLogic Server管理コンソールを使用するときも、WLSTを使用するときも(nmConnectコマンドの実行後)行われます。対応するMachineMBeanを物理マシンごとに作成すると、各ノード・マネージャ・インスタンスを指してサーバー・インスタンスと適切なMachineMBeanとを関連付けるのに役立ちます。

    MachineMBeanを管理サーバー内に作成するには、次のアクションのいずれかを実行します。

    • WebLogic Server管理コンソールで、「環境」「マシン」を選択して新しいマシンを作成します。ノード・マネージャのリスニング・アドレスとリスニング・ポートを指すようにMachineMBeanとそのNodeManagerMBean内の情報を構成します。詳細は、Oracle WebLogic Server管理コンソール・オンライン・ヘルプマシンの作成と構成に関する項を参照してください。

    • WLSTを使用してcreateコマンドでMachineMBeanを作成します。次に、ノード・マネージャのリスニング・アドレスとリスニング・ポートを指すようにMachineMBeanの設定を変更します。

  4. ノード・マネージャをローカルで作成した場合は、必要に応じて、これまでに実行した構成手順を繰り返します。

詳細は、『WebLogic Server WLSTコマンド・リファレンス』のノード・マネージャへのアクセスに関する項およびnmEnrollに関する項を参照してください。

WLSTを使用したノード・マネージャの制御および構成

WebLogic Scripting Tool (WLST)はコマンド行スクリプト・インタフェースです。システム管理者およびオペレータは、このインタフェースでWebLogic Serverのインスタンスやドメインの監視と管理を行います。WLSTをノード・マネージャ・クライアントとして使用することで、サーバー・インスタンスをリモートまたはローカルで起動、停止、および再起動できます。加えて、WLSTではサーバーのステータスを取得し、サーバー出力のログとノード・マネージャのログの内容を取得できます。WLSTノード・マネージャ・コマンドの詳細は、『WebLogic Server WLSTコマンド・リファレンス』の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ベースのノード・マネージャのセキュリティの構成

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ファイルに伝播され、ノード・マネージャによって使用されます。

次の手順を使用して、ノード・マネージャの資格証明を変更できます。

  1. 管理サーバーを起動します。

  2. WebLogic Server管理コンソールを使用し、「domain_name」「セキュリティ」「全般」の「詳細」オプションを使用してノード・マネージャの資格証明を更新します。

  3. WLSTを呼び出し、connectコマンド使用して管理サーバーに接続します。詳細は、『WebLogic Scripting Toolの理解』のWebLogic Scripting Toolの使用に関する項を参照してください。

  4. 以下の構文を使用して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で変更できます。ただし、本番環境では、ノード・マネージャのユーザー名とパスワードを明示的に設定する必要があります。

Javaベースのノード・マネージャ用のリモート・サーバー起動セキュリティ

ノード・マネージャを使用してサーバー・インスタンスを起動するには、リモート起動ユーザーのユーザー名とパスワードが必要です。管理サーバーと管理対象サーバーでは、これらの資格証明の指定方法が異なります。

  • 管理対象サーバーの資格証明 - 管理対象サーバーを起動するためにノード・マネージャを呼び出す場合、リモート起動のユーザー名とパスワードはノード・マネージャによって管理サーバーから取得されます。

  • 管理サーバーの資格証明: ノード・マネージャを起動して管理サーバーを起動すると、次の方法でリモート起動ユーザー名およびパスワードが付与されます。

    • コマンド行。ノード・マネージャによる管理サーバーの起動方法に関する項を参照してください。

    • 管理サーバーのboot.propertiesファイルから。

      構成ウィザードは、ドメインの作成時に管理サーバーのboot.propertiesファイルおよびstartup.propertiesファイルを初期化します。

    • 次の手順で保護および暗号化された方法で生成されます。

      • フラグ-Dweblogic.nodemanager.ServiceEnabled=trueで管理サーバーを起動します。

      • DOMAIN_HOME\servers\AdminServer\data\nodemanagerディレクトリを作成します。

      • 管理サーバーとノード・マネージャの両方が稼働している間に、任意の起動プロパティまたはサーバーの資格証明を更新します。

ノード・マネージャによって起動されたサーバー・インスタンスでは、自動再起動に使用するために、サーバーの起動に使用された資格証明が暗号化され、サーバー固有のboot.propertiesファイルに保存されます。

Javaベースのノード・マネージャでのSSLの使用

管理サーバーと管理対象サーバーは、一方向SSLを使用してJavaベースのノード・マネージャと通信します。

WebLogic Serverのデフォルト・インストールには、SSLを即時利用可能にするデモ用のアイデンティティ・キーストアおよび信頼キーストアが含まれています。DemoIdentity.jksDOMAIN_HOME\securityディレクトリにインストールされ、DemoTrust.jksWL_HOME\server\libにインストールされます。開発目的やテスト目的の場合は、このキーストア構成で十分です。

nodemanager.propertiesにあるCustomIdentityKeyStoreFileNameのプロパティを構成してノード・マネージャの証明書を設定します。ノード・マネージャは、独自の証明書を持つことも、そのドメインの他の機能と証明書を共有することもできます。ただし、クライアントがノード・マネージャ・インスタンスと通信するには、クライアントがノード・マネージャ証明書内のアイデンティティを信頼する必要があります。ノード・マネージャ・インスタンスごとに別の証明書を用意しなくてもかまいませんが、必要であればそのように構成することもできます。本番環境では、ノード・マネージャがすべてのサーバー・インスタンスに対して同じ公開証明書を使用できます。

本番環境用のSSLの構成には、ノード・マネージャのIDを取得してから、ノード・マネージャが通信する管理サーバーおよび管理対象サーバーについて、それぞれIDと信頼を構成することが必要です。また、ホスト名検証の使用と管理ポートを考慮に入れる必要があります。nodemanager.propertiesのSSL関連プロパティを確認するには、表4-1を参照してください。本番用のSSLコンポーネントの構成方法については、『Oracle WebLogic Serverセキュリティの管理』のSSLの構成に関する項を参照してください。

管理対象サーバーが非SSLポートを無効にする場合、ノード・マネージャはサーバーから受信する証明書を信頼する必要があります。ノード・マネージャの信頼ストアを構成するには、ノード・マネージャの起動スクリプトに-Djavax.net.ssl.trustStoreを追加します。起動スクリプトの詳細は、起動スクリプトの使用を参照してください。

ノード・マネージャの拡張構成

この項には次のトピックが含まれます:

管理サーバーのアドレスの定義

ノード・マネージャ・プロセスに接続する各管理サーバーのリスニング・アドレスを確実に定義する必要があります。管理サーバーのリスニング・アドレスが定義されていない場合、ノード・マネージャは、管理対象サーバーの起動時に、その管理対象サーバーに対してlocalhostにアクセスして構成情報を取得するように指示します。

リスニング・アドレスは、WebLogic Server管理コンソールの「サーバー」「構成」「全般」ページで設定します。

起動および停止スクリプトを使用するためのノード・マネージャの構成

スクリプトを使用して管理対象サーバーを起動、またはサーバーの停止が完了した後にスクリプトを実行するように、ノード・マネージャを構成できます。これらのスクリプトは、サーバー・インスタンスの起動前や停止後に実行する必要のあるタスクの実行に使用できます。スクリプトを使用して実行可能なタスクの一例としては、リモート・ディスクのマウントおよびアンマウントがあります。


注意:

ノード・マネージャは、起動スクリプトを使用して任意の必要な構成を実行し、その後でサーバー・インスタンスを起動します。対照的に、停止スクリプトはサーバー・インスタンスの停止後に実行されます。

スクリプトの場所

起動スクリプトと停止スクリプトは双方とも、以下のディレクトリに格納されています。

DOMAIN_HOME\bin

スクリプトは、このディレクトリを基準として実行されます。

起動および停止スクリプト使用時のベスト・プラクティス

起動スクリプトおよび停止スクリプトを使用してサーバーの動作を制御する際には、提供されているスクリプトの一番上の行のみの編集をお薦めします。これにより、スクリプトの実行時に、必要なすべての環境変数が確実に使用されます。

起動スクリプトの使用

起動スクリプトを使用すると、必要な起動プロパティの指定、および起動時に実行が必要なその他の任意の作業の実行ができます。起動スクリプトを定義するには:

  1. nodemanager.propertiesファイル内のweblogic.StartScriptEnabledプロパティをtrueに設定します。(デフォルト値はtrueです。)起動スクリプトの名前がstartWebLogic.shまたはstartWebLogic.cmdの場合は、ノード・マネージャはそれらのスクリプトのいずれかをデフォルトとして使用します。

  2. カスタム起動スクリプトを指定する場合は、nodemanager.propertiesファイル内のweblogic.StartScriptNameプロパティでスクリプトの名前またはパスを設定します。


    注意:

    カスタムの起動スクリプトを作成する場合、startWebLogic.shをバックグラウンドで実行するのではなく、その場でサーバー・インスタンスを起動します。このようにすると、サーバー・インスタンスが実行中のときはカスタム・スクリプトのプロセスも実行中になります。例:
    # custom stuff
    # custom stuff
    startWebLogic.sh
    

ノード・マネージャは、JAVA_VENDORJAVA_HOMEJAVA_OPTIONSSECURITY_POLICYCLASSPATH、およびADMIN_URLを設定します。WebLogic Server管理コンソールを使用してサーバー・インスタンスを起動したり、WebLogic Server管理サーバーに接続されたWLSTを使用すると、これらの値がServerMBeanServerStartMBeanおよびSSLMBeanから取り出されます。ノード・マネージャに直接接続されたWLSTを使用する場合は、値を指定できますが、使用しない場合は空白にします。

ノード・マネージャは、ServerStartMBean Arguments属性で指定されるすべてのコマンド行起動オプション(-Dフラグ)とSSLArgumentsを組み合わせ、JAVA_OPTIONSという1つの環境変数にします。SSLArgumentsは、SSLMBeanの値から取得されます。SSLMBeanは、ignoreHostnameVerificationHostnameVerifier、およびReverseDNSAllowedの各値があるか検査し、それらの値は-Dフラグに付加されます。すべてのフラグは、SSLArgumentsパラメータから構成されます。ServerStartMBean内のSSLArgumentsおよびArgumentsのすべての値は、起動スクリプトに定義されるJAVA_OPTIONS環境変数から構成されます。また、スクリプトは独自に定義した任意の値を環境変数に付加します。

この値のセットで結果としてオーバーラップが発生する場合、Javaコマンド行で次のように表示されます。

java -Dflag1=value1 -Dflag1=value2 weblogic.Server

Javaを呼び出すと、重複した値を解決できます。

停止スクリプトの使用

停止スクリプトを使用すると、サーバー・インスタンスの障害発生または停止の後に必要となるタスクを実行できます。

停止スクリプトを定義するには:

  1. nodemanager.propertiesファイル内のweblogic.StopScriptEnabledプロパティをtrueに設定します。

  2. 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ファイルに変更を加えないでください。ただし、ホストごとのノード・マネージャや、カスタムのノード・マネージャ・インスタンスを使用する場合は、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でバックスラッシュ文字(\)を使用している場合は、(\\)としてエスケープする必要があります。

例4-2 nodemanager.domainsファイル

#Domains and directories created by Configuration Wizard
#Mon Jan 07 10:57:18 EST 2013
base_domain=C\:\\Oracle\\Middleware\\Oracle_Home\\user_projects\\domains\\base_domain
prod_domain=C\:\\Oracle\\Middleware\\Oracle_Home\\user_projects\\domains\\prod_domain

nodemanager.propertiesのレビュー

ノード・マネージャ・プロパティは、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 ノード・マネージャのプロパティ

ノード・マネージャ・プロパティ 説明 デフォルト

AuthenticationEnabled

trueに設定すると、ノード・マネージャはドメインに対して資格証明を認証します。

true

certificateFile

SSL認証に使用される証明書ファイルのパスを指定します。

注意: このプロパティは、WebLogic Serverバージョン7.xからバージョン9.xにアップグレードするプロセスでのみ使用されます。

none

CipherSuite

SSLリスナーで使用される暗号スイートの名前。

このプロパティはWebLogic Server 12.1.3.0で非推奨となりましたが、WebLogic Server 12.1.3ではまだ完全にサポートされます。置換プロパティの詳細および現在のサポート制限は、「CipherSuites」を参照してください。

デフォルト値はJDKで、プラットフォームに依存しています。

CipherSuites

SSLリスナーで使用される暗号スイートの名前。複数の暗号スイート値を、次の例のようにカンマで区切って指定できます。

CipherSuites=SUITE_A, SUITE_B, SUITE_C

WebLogic Server 12.1.3で導入されたこのプロパティは、WLSTオフラインまたはpackおよびunpackコマンドでは現在サポートされていません。これらのユーティリティを使用する場合は、かわりにCipherSuiteを使用します。

デフォルト値はJDKで、プラットフォームに依存しています。

CoherenceStartScriptEnabled

スタンドアロンのCoherenceサーバーを起動するときに、ノード・マネージャがCoherenceインスタンスの起動スクリプトを使用するか直接Java呼出しを使用するかを指定します。

このプロパティはWebLogic Server 12.1.3.0で非推奨となりましたが、WebLogic Server 12.1.3ではまだ完全にサポートされます。置換プロパティの詳細および現在のサポート制限は、「coherence.StartScriptEnabled」を参照してください。

true

CoherenceStartScriptName

coherence.StartScriptEnabled=trueのとき、スタンドアロンのCoherenceサーバーを起動するのに使用される起動スクリプトの名前またはパスを指定します。

このプロパティはWebLogic Server 12.1.3.0で非推奨となりましたが、WebLogic Server 12.1.3ではまだ完全にサポートされます。置換プロパティの詳細および現在のサポート制限は、「coherence.StartScriptName」を参照してください。

none

coherence.StartScriptEnabled

スタンドアロンのCoherenceサーバーを起動するときに、ノード・マネージャがCoherenceインスタンスの起動スクリプトを使用するか直接Java呼出しを使用するかを指定します。

WebLogic Server 12.1.3で導入されたこのプロパティは、WLSTオフラインまたはpackおよびunpackコマンドでは現在サポートされていません。これらのユーティリティを使用する場合は、かわりにCoherenceStartScriptEnabledを使用します。

true

coherence.StartScriptName

coherence.StartScriptEnabled=trueのとき、スタンドアロンのCoherenceサーバーを起動するのに使用される起動スクリプトの名前またはパスを指定します。

WebLogic Server 12.1.3で導入されたこのプロパティは、WLSTオフラインまたはpackおよびunpackコマンドでは現在サポートされていません。これらのユーティリティを使用する場合は、かわりにCoherenceStartScriptNameを使用します。

none

coherence.startup.JavaHome

適用されるのは、coherence.StartScriptEnabled=falseでノード・マネージャがJavaを直接呼び出すときです。このマシン上の管理対象サーバーを起動するためにノード・マネージャが使用するJavaホーム・ディレクトリです(その管理対象サーバーのリモート起動ページでJavaホームが構成されていない場合)。どちらでも指定されていない場合、ノード・マネージャはノード・マネージャ・プロセスに対して定義されているJavaホームを使用します。

WebLogic Server 12.1.3で導入されたこのプロパティは、WLSTオフラインまたはpackおよびunpackコマンドでは現在サポートされていません。これらのユーティリティを使用する場合は、かわりにJavaHomeを使用します。

none

CrashRecoveryEnabled

システム・クラッシュのリカバリを有効にします。

注意: クラッシュ・リカバリのシナリオにおいて、CrashRecoveryEnabledプロパティは、AutoRestartサーバー起動プロパティよりも優先されます。たとえば、サーバー・インスタンスにAutoRestart=falseCrashRecoveryEnabled=trueが設定されている場合、ノード・マネージャは再起動後にサーバー・インスタンスのリカバリを試みます(ノード・マネージャが実行されていないときにサーバーに障害が発生した場合)。

false

CustomIdentityAlias

秘密鍵をキーストアにロードするときの別名を指定します。このプロパティは、KeystoresプロパティがCustomIdentityAndCustomTrustまたはCustomIdentityAndJavaStandardTrustに設定されている場合に必須です。

none

CustomIdentityKey

StoreFileName

IDキーストア(ノード・マネージャの秘密鍵を格納するキーストア)のファイル名を指定します。このプロパティは、KeystoresプロパティがCustomIdentityおよびCustomTrustまたはCustomIdentityAndJavaStandardTrustに設定されている場合に必須です。

none

CustomIdentity

KeyStorePassPhrase

IDキーストアの作成時に定義されたパスワードを指定します。このフィールドが必須か省略可能かは、キーストアのタイプによって異なります。すべてのキーストアで、キーストアに書き込むためにはパスワードが必須です。ただし、一部のキーストアでは読込みにパスワードを必要としません。WebLogic Serverはキーストアから読み込むだけなので、このプロパティを定義するかどうかはキーストアの要件によります。

none

CustomIdentity

KeyStoreType

IDキーストアのタイプを指定します。通常はJKS。このプロパティは省略可能です。

java.securityのデフォルト・キーストア・タイプ

CustomIdentity

PrivateKeyPassPhrase

IDキーストアからWebLogic Serverの秘密鍵を取得するために使用するパスワードを指定します。このプロパティは、KeystoresプロパティがCustomIdentityAndCustomTrustまたはCustomIdentityAndJavaStandardTrustに設定されている場合に必須です。

none

DomainsDirRemoteSharingEnabled

ノード・マネージャが共有ドメイン・ディレクトリをモニターするかどうかを指定します。指定すると、複数のノード・マネージャが別々のマシンから共有ディレクトリをモニターできます。

trueに設定すると、共有ドメイン・ディレクトリ(マウントされたディレクトリまたはWindows NFS)を持つことを示し、複数のノードが共有されることになります。このプロパティを有効にすると、複数のノード・マネージャが相互に影響を及ぼしあわずにドメインを共有できます。

false

DomainsFile

nodemanager.domainsファイルの名前。

NodeManagerHome\nodemanager.domains

DomainsFileEnabled

trueに設定されている場合は、DomainsFileで指定されているファイルが使用されます。falseに設定されている場合は、カレント・ディレクトリのドメインまたはWL_HOMEのドメインが想定されます。

true

DomainRegistrationEnabled

このプロパティはWebLogic Server 12.1.3.0で非推奨となり、将来のリリースで削除される可能性があります。

複数のドメインの場所をnodemanager.domainsファイルに登録するには、「nodemanager.domainsファイルの構成」を参照してください。

false

IfConfigDir

この構成プロパティでは、wlsifconfig.sh/.cmdスクリプトの場所として別のディレクトリを設定します。

このプロパティはWebLogic Server 12.1.3.0で非推奨となりましたが、WebLogic Server 12.1.3ではまだ完全にサポートされます。置換プロパティの詳細および現在のサポート制限は、「weblogic.IfConfigDir」を参照してください。

この場所はデフォルトで適切に設定されていますが、このプロパティを使用してスクリプトの場所を変更できます。

Interface

移行可能サーバーで使用されるプライマリ・インタフェース名。サーバーの移行では、各移行可能サーバーが使用するプライマリ・インタフェース名は同じである必要があります。

関連項目: <InterfaceName>プロパティを使用すると、複数のインタフェース、および特定のインタフェースにバインドする必要がある対応するIPアドレスの範囲をより柔軟に指定できます。

このプロパティはWebLogic Server 12.1.3.0で非推奨となりましたが、WebLogic Server 12.1.3ではまだ完全にサポートされます。詳細は、「<InterfaceName>」を参照してください。

none

<InterfaceName>

インタフェース名、および移行可能サーバーが起動されたときにこの特定のネットワーク・インタフェースにバインドする必要がある対応するIPアドレスの範囲とオプションのネットマスク値。

構文: <InterfaceName>=<IP_RANGE_MIN>-<IP_RANGE_MAX>、(オプション) NetMask=<NETMASK_ADDRESS>

たとえば、1 - 4のアドレスをeth0インタフェースに、5 - 8のアドレスをbond0インタフェースにバインドするときに使用する構文は次のとおりです:

eth0=1-4,NetMask=255.255.255.0
bond0=5-8,NetMask=255.255.248.0

NetMaskの値を省略したい場合は省略して、単に次のように入力することもできます:

eth0=200.10.10.1-200.10.10.255
bond0=199.0.0.1-199.0.0.255

元のNetMaskおよびInterfaceプロパティもサポートされており、これらを指定した場合、IP範囲内で定義されていない任意のアドレスに適用されます。

たとえば、これらのプロパティを次のように元の形式で指定した場合:

Interface=oldEth0
NetMask=255.255.255.0

これを新しい形式で次のように指定した場合と同じになります:

oldEth0=*,Netmask=255.255.255.0

アスタリスク(*)は、すべてのIPを表します。

none

JavaHome

管理対象サーバーのリモート起動ページにJavaホームが構成されていない場合、このマシン上の管理対象サーバーを起動するためにノード・マネージャで使用するJavaホーム・ディレクトリ。どちらでも指定されていない場合、ノード・マネージャはノード・マネージャ・プロセスに対して定義されているJavaホームを使用します。

注意: このプロパティはWLST setコマンドで設定しないことをお薦めします。WLSTで設定した場合、nodemanager.propertiesファイルでこのプロパティはデフォルト値に戻ります。

このプロパティはWebLogic Server 12.1.3.0で非推奨となりましたが、WebLogic Server 12.1.3ではまだ完全にサポートされます。置換プロパティの詳細および現在のサポート制限は、WebLogic Serverプロセスの場合は「weblogic.startup.JavaHome」を、Coherenceプロセスの場合は「coherence.startup.JavaHome」を参照してください。

none

JavaStandardTrustKey

StorePassPhrase

信頼キーストアの作成時に定義されたパスワードを指定します。このフィールドが必須か省略可能かは、キーストアのタイプによって異なります。すべてのキーストアで、キーストアに書き込むためにはパスワードが必須です。ただし、一部のキーストアでは読込みにパスワードを必要としません。WebLogic Serverはキーストアから読み込むだけなので、このプロパティを定義するかどうかはキーストアの要件によります。このプロパティは、KeystoresプロパティがCustomIdentityAndJavaStandardTrustまたはDemoIdentityAndDemoTrustに設定されている場合に必須です。

none

keyFile

管理サーバーでSSL通信に使用する秘密鍵・ファイルのパス。

注意: このプロパティは、WebLogic Serverバージョン7.xからバージョン9.xにアップグレードするプロセスでのみ使用されます。

none

keyPassword

キー・ファイル内の暗号化された秘密鍵にアクセスするためのパスワード。

注意: このプロパティは、WebLogic Serverバージョン7.xからバージョン9.xにアップグレードするプロセスでのみ使用されます。

none

KeyStores

ID(秘密鍵とデジタル証明書)および信頼(信頼性のあるCA証明書)を検索するためにノード・マネージャで使用する、キーストア構成を示します。指定できる値は次のとおりです。

  • DemoIdentityAndDemoTrust

    デフォルトで構成されるDOMAIN_HOME\securityおよびWL_HOME\server\libディレクトリに配置されたデモ用のIDキーストアおよび信頼キーストアを使用します。デモ用の信頼キーストアは、Java標準信頼キーストア(JAVA_HOME\jre\lib\security\cacerts)のすべての認証局を信頼します。

  • CustomIdentityAndJava

  • StandardTrust

    独自に作成したキーストアおよびJAVA_HOME\jre\lib\security\cacertsディレクトリのcacertsファイルで定義されている信頼性のあるCAを使用します。

  • CustomIdentityAndCustomTrust

    独自に作成したIDキーストアおよび信頼キーストアを使用します。

DemoIdentityAndDemoTrust

ListenAddress

ノード・マネージャを実行しているマシンが接続リクエストをリスニングできるアドレス。この引数により、weblogic.nodemanager.listenAddressは非推奨になります。

null

この設定を使用すると、ノード・マネージャはマシンのIPアドレスでリスニングします。

ListenBacklog

リスナーが受け付けるノード・マネージャのバックログ・リクエストの最大数。バックログされたリクエストが処理されるまで、追加の着信リクエストは削除されます。通常、このプロパティを調整する必要はありません。

50

ListenPort

ノード・マネージャが接続リクエストをリスニングするTCPポート番号。この引数により、weblogic.nodemanager.listenPortは非推奨となります。

5556

LogAppend

trueに設定されている場合は、ノード・マネージャの再起動時に新しいログ・ファイルが作成されません。かわりに既存のログに追加されます。

true

LogCount

LogLimitを超過した場合に作成されるログ・ファイルの最大数。

1

LogFile

ノード・マネージャのログ・ファイルの場所。

NodeManagerHome\nodemanager.log

LogFormatter

ノード・マネージャのログ・メッセージに使用されるフォーマッタ・クラス名。

weblogic.nodemanager.server.LogFormatter

LogLevel

ノード・マネージャのログに使用されるロギングの重大度。ノード・マネージャは、java.util.logging.levelパッケージ(http://docs.oracle.com/javase/6/docs/api/java/util/logging/Level.html)から、標準ロギング・レベルを使用します。

INFO

LogLimit

整数として指定される、ノード・マネージャのログの最大サイズ。この上限に達すると、新しいログ・ファイルが開始されます。

unlimited

LogToStderr

trueに設定されている場合は、ログ出力も標準エラー出力に送信されます。

false

NativeVersionEnabled

trueに設定すると、オペレーティング・システムのネイティブ・ライブラリが使用されます。

SolarisまたはLinux以外のUNIXシステムでは、このプロパティをfalseに設定してノード・マネージャを非ネイティブ・モードで実行します。このようにすると、ノード・マネージャはweblogic.StartScriptEnabledプロパティで指定された起動スクリプトを使用して管理対象サーバーを起動します。

NativeVersionEnabled=falseの場合、次のことに注意してください。

  • ノード・マネージャはPIDがアライブかどうかを問い合せたり、特定のプロセスを強制停止することはできません。

  • ノード・マネージャはモニターする必要のある既存のプロセスがあるかどうかを判断できず、クラッシュ・リカバリは完全には実装されていません。

  • nmKillは、NativeVersionEnabled=falseかつweblogic.StartScriptEnabled=trueのときはサポートされません。

true

NetMask

ネットワークのサブネット・マスク。サーバーの移行では、サーバー間のユニキャストおよびマルチキャストの通信が行えるように、各管理対象サーバーが同じサブネット・マスクを使用する必要があります。

関連項目: <InterfaceName>プロパティを使用すると、複数のインタフェースおよび対応するネットマスク値をより柔軟に入力できます。

このプロパティはWebLogic Server 12.1.3.0で非推奨となりましたが、WebLogic Server 12.1.3ではまだ完全にサポートされます。詳細は、「<InterfaceName>」を参照してください。

none

NodeManagerHome

次の構成およびログ・ファイルが格納されたノード・マネージャのルート・ディレクトリ。

  • nodemanager.domains

  • nodemanager.log

  • nodemanager.properties

これらのファイルの詳細は、「ノード・マネージャの構成ファイルとログ・ファイル」を参照してください。

注意: デフォルトでは、NodeManagerHomeは、DOMAIN_HOME\nodemanagerになります。本番環境では、ノード・マネージャのルート・ディレクトリの場所をカスタマイズすることが必要な場合があります。

注意: このプロパティはWLST setコマンドで設定しないことをお薦めします。WLSTで設定した場合、nodemanager.propertiesファイルでこのプロパティはデフォルト値に戻ります。

NodeManagerHome

PropertiesVersion

nodemanager.propertiesファイルのバージョンを指定します。この値は変更しないでください。

none

QuitEnabled

trueに設定すると、ノード・マネージャをリモートで停止できるようになります。

WLSTは、stopNodeManager()コマンドを使用してノード・マネージャを停止時にデフォルト値falseをオーバーライドします。

false

SecureListener

trueに設定されている場合はSSLリスナーが使用され、その他の場合はプレーン・ソケットが使用されます。

true

StartScriptEnabled

trueの場合は、StartScriptNameで指定された起動スクリプトを使用してサーバー・インスタンスが起動されます。詳細は、「起動および停止スクリプトを使用するためのノード・マネージャの構成」を参照してください。

このプロパティはWebLogic Server 12.1.3.0で非推奨となりましたが、WebLogic Server 12.1.3ではまだ完全にサポートされます。置換プロパティの詳細および現在のサポート制限は、「weblogic.StartScriptEnabled」を参照してください。

true

StartScriptName

ドメイン・ディレクトリにある起動スクリプトの名前またはパス。

このプロパティはWebLogic Server 12.1.3.0で非推奨となりましたが、WebLogic Server 12.1.3ではまだ完全にサポートされます。置換プロパティの詳細および現在のサポート制限は、「weblogic.StartScriptName」を参照してください。

startWebLogic.sh (UNIX)

または

startWebLogic.cmd (Windows)

StateCheckInterval

ノード・マネージャがサーバーの状態チェックを実行するまでに待機する間隔を指定します。

500 milliseconds

StopScriptEnabled

trueの場合は、StopScriptNameで指定された停止スクリプトをサーバー・インスタンス停止後に実行します。詳細は、「起動および停止スクリプトを使用するためのノード・マネージャの構成」を参照してください。

このプロパティはWebLogic Server 12.1.3.0で非推奨となりましたが、WebLogic Server 12.1.3ではまだ完全にサポートされます。置換プロパティの詳細および現在のサポート制限は、「weblogic.StopScriptEnabled」を参照してください。

false

StopScriptName

サーバー停止後に実行されるスクリプトの名前。

このプロパティはWebLogic Server 12.1.3.0で非推奨となりましたが、WebLogic Server 12.1.3ではまだ完全にサポートされます。置換プロパティの詳細および現在のサポート制限は、「weblogic.StopScriptName」を参照してください。

none

UseMACBroadcast

ARPパケット送信時にノードのMACアドレスを使用するかどうか、つまりarpingコマンドの-bフラグを使用するかどうかを指定します。ノード・マネージャは、自動サーバー移行のためにIPアドレスをバインドするときに、arpingコマンドも使用して、マシンが仮想IPアドレスを使用するようになったことをネットワーク内のノードに通知します。weblogic.UseMACBroadcast=trueのときは、ノード・マネージャはarpingコマンドで-bフラグを使用します。

このプロパティはWebLogic Server 12.1.3.0で非推奨となりましたが、WebLogic Server 12.1.3ではまだ完全にサポートされます。置換プロパティの詳細および現在のサポート制限は、「weblogic.UseMACBroadcast」を参照してください。

false

WebLogicHome

WebLogic Serverがインストールされるルート・ディレクトリ。リモート起動ページにルート・ディレクトリが構成されていない管理対象サーバーで-Dweblogic.RootDirectoryのデフォルト値として使用されます。どちらの場所でも指定されていない場合、ノード・マネージャは、ノード・マネージャが実行されているディレクトリで管理対象サーバーを起動します。

none

weblogic.IfConfigDir

この構成プロパティでは、wlsifconfig.sh/.cmdスクリプトの場所として別のディレクトリを設定します。

WebLogic Server 12.1.3で導入されたこのプロパティは、WLSTオフラインまたはpackおよびunpackコマンドでは現在サポートされていません。これらのユーティリティを使用する場合は、かわりにIfConfigDirを使用します。

この場所はデフォルトで適切に設定されていますが、このプロパティを使用してスクリプトの場所を変更できます。

weblogic.StartScriptEnabled

trueの場合は、weblogic.StartScriptNameで指定された起動スクリプトを使用してサーバー・インスタンスが起動されます。詳細は、「起動および停止スクリプトを使用するためのノード・マネージャの構成」を参照してください。

WebLogic Server 12.1.3で導入されたこのプロパティは、WLSTオフラインまたはpackおよびunpackコマンドでは現在サポートされていません。これらのユーティリティを使用する場合は、かわりにStartScriptEnabledを使用します。

true

weblogic.StartScriptName

ドメイン・ディレクトリにある起動スクリプトの名前またはパス。

WebLogic Server 12.1.3で導入されたこのプロパティは、WLSTオフラインまたはpackおよびunpackコマンドでは現在サポートされていません。これらのユーティリティを使用する場合は、かわりにStartScriptNameを使用します。

startWebLogic.sh (UNIX)

または

startWebLogic.cmd (Windows)

weblogic.startup.JavaHome

適用されるのは、weblogic.StartScriptEnabled=falseでノード・マネージャがJavaを直接呼び出すときです。このマシン上の管理対象サーバーをノード・マネージャが起動するために使用するJavaホーム・ディレクトリを指定します(その管理対象サーバーのリモート起動ページでJavaホームが構成されていない場合)。どちらでも指定されていない場合、ノード・マネージャはノード・マネージャ・プロセスに対して定義されているJavaホームを使用します。

WebLogic Server 12.1.3で導入されたこのプロパティは、WLSTオフラインまたはpackおよびunpackコマンドでは現在サポートされていません。これらのユーティリティを使用する場合は、かわりにJavaHomeを使用します。

none

weblogic.StopScriptEnabled

trueの場合は、weblogic.StopScriptNameで指定された停止スクリプトをサーバー・インスタンス停止後に実行します。詳細は、「起動および停止スクリプトを使用するためのノード・マネージャの構成」を参照してください。

WebLogic Server 12.1.3で導入されたこのプロパティは、WLSTオフラインまたはpackおよびunpackコマンドでは現在サポートされていません。これらのユーティリティを使用する場合は、かわりにStopScriptEnabledを使用します。

false

weblogic.StopScriptName

サーバー停止後に実行されるスクリプトの名前。

WebLogic Server 12.1.3で導入されたこのプロパティは、WLSTオフラインまたはpackおよびunpackコマンドでは現在サポートされていません。これらのユーティリティを使用する場合は、かわりにStopScriptNameを使用します。

none

weblogic.UseMACBroadcast

ARPパケット送信時にノードのMACアドレスを使用するかどうか、つまりarpingコマンドの-bフラグを使用するかどうかを指定します。ノード・マネージャは、自動サーバー移行のためにIPアドレスをバインドするときに、arpingコマンドも使用して、マシンが仮想IPアドレスを使用するようになったことをネットワーク内のノードに通知します。weblogic.UseMACBroadcast=trueのときは、ノード・マネージャはarpingコマンドで-bフラグを使用します。

WebLogic Server 12.1.3で導入されたこのプロパティは、WLSTオフラインまたはpackおよびunpackコマンドでは現在サポートされていません。これらのユーティリティを使用する場合は、かわりにUseMACBroadcastを使用します。

false


サーバー・インスタンスのグループのためのマシン・レベルのノード・マネージャ設定

サーバー・インスタンスのグループを同じノード・マネージャ・インスタンスで起動する場合は、特定のマシン・レベル設定をnodemanager.propertiesファイル内で一度構成するだけで、その設定をグループ内のすべてのサーバー・インスタンスに適用できます。マシン・レベルの属性を設定しておくと、共通の設定をサーバー・インスタンスごとにServerStartMBean内で構成する必要がなくなるため、構成が単純になります。

サーバー・インスタンス固有の設定を直接ServerStartMBean内で構成した場合は、その値はnodemanager.propertiesファイル内で構成された値よりも優先されます。

表4-2は、同じノード・マネージャ・インスタンスで起動されるサーバー・インスタンスのグループのためにnodemanager.propertiesで構成できる、マシン・レベルの設定の説明です。

表4-2 サーバー・インスタンスのグループのためのマシン・レベルのノード・マネージャ・プロパティ

プロパティ名 説明

coherence.startup.Arguments

サーバー・インスタンスの起動時に使用されるJava引数。

これらは、起動コマンドのJava部分の直後に付加する最初の引数です。たとえば、Javaヒープ・メモリーの設定や、任意のweblogic.nodemanager.server.provider.WeblogicCacheServerオプションの指定を行うことができます。

引数はスペースで区切ります。

coherence.startup.MW_Home

このサーバー・インスタンスの起動時に使用されるMW_HOMEディレクトリ(ノード・マネージャを実行しているマシン上のパス)。

ノード・マネージャ・マシン上の、すべてのOracle Middleware製品がインストールされているディレクトリを指定します。たとえば、C:\Oracle\Middlewareです。

weblogic.startup.Arguments

サーバー・インスタンスの起動時に使用されるJava引数。

ノード・マネージャは、JAVA_OPTIONS環境変数を使用してこの値を起動スクリプトに渡します。Javaコマンド行を発行してサーバー・インスタンスを起動するときは、ノード・マネージャは引数をオプションとして渡します。

weblogic.startup.Arguments.prepend

サーバー・インスタンス用に構成された引数の前にフラグを付加します。

weblogic.startup.ClassPath

このサーバー・インスタンスの起動時に使用するクラスパス(ノード・マネージャを実行しているマシン上のパス)。

ノード・マネージャは、CLASSPATH環境変数を使用してこの値を起動スクリプトに渡します。Javaコマンド行を発行してサーバー・インスタンスを起動するときは、クラスパスは-Djava.class.path=で定義されます。

weblogic.startup.JavaVendor

サーバー・インスタンスの起動時に使用されるJavaベンダー値。

Javaコマンド行を呼び出してサーバー・インスタンスを起動するときは、この値はノード・マネージャから渡されません。この値は、環境変数JAVA_VENDORで起動スクリプトに渡されます。

weblogic.startup.MW_Home

このサーバー・インスタンスの起動時に使用されるMW_HOMEディレクトリ(ノード・マネージャを実行しているマシン上のパス)。

この値は、ノード・マネージャから起動スクリプトに渡されません。Javaコマンド行を発行してサーバー・インスタンスを起動するときは、MW_HOME-Dbea.home=で指定されます。

weblogic.startup.SecurityPolicyFile

このサーバー・インスタンスの起動時に使用されるセキュリティ・ポリシー・ファイル(ノード・マネージャを実行しているマシン上のディレクトリおよびファイル名)。

ノード・マネージャが起動スクリプトを使用するときは、セキュリティ・ポリシー・ファイルは環境変数SECURITY_POLICYで定義されます。Javaコマンド行を発行してサーバー・インスタンスを起動するときは、セキュリティ・ポリシーが-Djava.security.policy=で定義されます。

weblogic.startup.ServerGID

サーバー・インスタンスのグループID。

weblogic.startup.ServerUID

サーバー・インスタンスのユーザーID。


リモート起動引数の構成

WebLogic Server管理コンソールの、管理対象サーバーの「サーバー」「構成」「サーバーの起動」ページで、ノード・マネージャが管理対象サーバーの起動に使用する起動引数を指定します。管理対象サーバーの起動引数を指定しなかった場合は、その管理対象サーバーに適したデフォルト値が使用されます。Javaベース実装を使用する場合は、ノード・マネージャ独自のプロパティが管理対象サーバー起動時のデフォルトとして使用されます。スクリプト・ベース実装を使用する場合は、起動スクリプトによってデフォルト値が設定されます。詳細は、nodemanager.propertiesのレビューを参照してください。

それらのデフォルトでも管理対象サーバーを起動することができますが、起動プロセスの一貫性と信頼性を確保するためには、管理対象サーバー・インスタンスごとに起動引数を構成します。指定された起動引数は管理対象サーバーの起動にのみ使用されます。ノード・マネージャによって起動される管理サーバー・インスタンスで使用されることはありません。

ノード・マネージャをWindowsサービスとして実行する場合は(「起動サービスとしてのノード・マネージャの実行」を参照)、ノード・マネージャの制御下に置かれる管理対象サーバーごとにJVMの-Xrsプロパティを構成する必要があります。

このオプションを設定しない場合、ノード・マネージャはシステムの再起動後に管理対象サーバーを再起動できません。それは、次のような一連のイベントが発生するためです。

  1. 再起動が行われると、ノード・マネージャ・サービスと管理サーバーのオペレーティング・システム・サービスが停止される前に、実行中の管理対象サーバーが強制終了されます。

  2. 管理対象サーバーの強制終了と、ノード・マネージャ・サービスの停止の間の間隔に、ノード・マネージャは継続して管理対象サーバーをモニターし、それが強制終了されたことを検出し、再起動を行おうとします。

  3. マシンが停止しようとしているので、オペレーティング・システムは管理対象サーバーの再起動を許可しません。

  4. ノード・マネージャは障害が発生したものとして管理対象サーバーにマークを付け、マシンが再起動したときにそのサーバーを起動しません。

-Xrsオプションまたは-Xnohup オプションを使用して管理対象サーバーを起動すると、マシンの停止時に管理対象サーバーを即座に停止しないようになり、このような一連のイベントが回避されます。

サーバーの起動プロパティの設定

ノード・マネージャを使用して、サーバー・インスタンスの起動プロパティを設定できます。これらのプロパティは、startup.propertiesで定義することも、WLSTなどの管理ユーティリティを使用してオブジェクトとして渡すこともできます。起動プロパティと、その有効な値を設定する方法を、次の項で概説します。

startup.properties

ノード・マネージャは、startup.propertiesファイルを使用して、サーバー・インスタンス起動時の起動構成を決定します。このファイルは、サーバー・インスタンスごとに定義されており、下記の場所に置かれています。DOMAIN_HOME/servers/server_name/data/nodemanager/startup.properties

startup.propertiesの内容は、サーバーMBeanから導出されるか、サーバー・インスタンスがクラスタの一部である場合は、クラスタMBeanから導出されます。詳細は、Oracle WebLogic Server MBeanリファレンスを参照してください。

WLSTを使用して起動プロパティを設定する

WLSTのnmStartコマンドを使用するときは、サーバーの構成を直接特定することはできません。したがって、サーバーの起動プロパティをWLSTプロパティ・オブジェクトとしてnmStartコマンドに渡す必要があります。

サーバーの起動プロパティ

次に示すサーバー起動プロパティは、ノード・マネージャを使用してサーバー・インスタンスを起動するときにサーバー・インスタンスに渡すことができます。

表4-3 サーバーの起動プロパティ

プロパティ 説明

AdminURL

管理サーバーのURL。

注意:この値は、管理対象サーバーのstartup.propertiesファイルにおいてのみ指定します。

Arguments

サーバー・インスタンスの起動時に使用される引数。

AutoKillIfFailed

サーバー・インスタンスがノード・マネージャによって起動されるときに、この属性によって、OverloadProtectionMBeanの設定がFailureAction == FORCE_SHUTDOWNおよびPanicAction == SYSTEM_EXITに変更されます。FailureActionおよびPanicActionの詳細は、OverloadProtectionMBeanに関する項を参照してください。

AutoRestart

このサーバー・インスタンスで障害が発生した場合にノード・マネージャが自動的に再起動できるかどうかを指定します。

注意: クラッシュ・リカバリのシナリオにおいて、CrashRecoveryEnabled構成プロパティは、AutoRestartプロパティよりも優先されます。たとえば、サーバー・インスタンスにAutoRestart=falseCrashRecoveryEnabled=trueが設定されている場合、ノード・マネージャは再起動後にサーバー・インスタンスのリカバリを試みます(ノード・マネージャが実行されていないときにサーバーに障害が発生した場合)。

ClassPath

サーバー・インスタンスの起動時に使用されるクラス・パス。

JavaHome

サーバー・インスタンスの起動時に使用されるJavaホーム・ディレクトリを定義します。

OracleHome

サーバー・インスタンスの起動時に使用されるOracleホーム・ディレクトリ。

RestartDelaySeconds

ノード・マネージャがサーバー・インスタンスの再起動を試行する前に待機する秒数。

RestartInterval

障害が発生したサーバー・インスタンスの再起動をノード・マネージャが試行する時間の長さ。この期間中、ノード・マネージャはRestartMaxで定義された回数まで、障害の発生したサーバーを再起動しようとします。デフォルトでは、ノード・マネージャはFAILED_NOT_RESTARTABLE状態に到達するまで無期限にサーバー・インスタンスの再起動を試行します。

RestartMax

ノード・マネージャが、RestartIntervalで定義した間隔内で障害の発生したサーバーの再起動を試行する回数。RestarMaxは、RestartIntervalが定義されている場合のみ認識されます。

SecurityPolicyFile

このサーバーを起動する際に使用するセキュリティ・ポリシー・ファイルを指定します。

ServerIP

サーバーのIPアドレス。

SSLArguments

これらの引数は、ドメイン全体の管理ポートを有効化した場合に使用されます。


ノード・マネージャの環境変数の設定

デフォルトでは、ノード・マネージャを起動する前に追加の環境変数を設定する必要はありません。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

ノード・マネージャCLASSPATHは、ノード・マネージャを起動するためのjavaコマンド行のオプション、または環境変数として設定できます。

Windows NTの例:

set CLASSPATH=.;%WL_HOME%\server\lib\weblogic_sp.jar;%WL_HOME%\server\lib\
weblogic.jar
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はi686ia64、またはx86_64アーキテクチャが可能です。該当するアーキテクチャに応じてパスは変わる可能性があります。

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

xinetdサービスとしてのノード・マネージャの構成

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.1.3 JAVA_HOME=/Java/jdk1.7.0_51LD_LIBRARY_PATH=/Oracle/Middleware/Oracle_Home_WLS_12.1.3/bea/wlserver/server/native/linux/x86_64:/usr/lib:/lib:/usr/X11R6/lib }

init.dサービスとしてのノード・マネージャの構成

ノード・マネージャは、init起動スクリプトを使用してinit.dサービスとして構成できます。この項には次のトピックが含まれます:

init.dサービスとしてのドメインごとのノード・マネージャの構成

ドメインごとのノード・マネージャをinit.dサービスとしてインストールおよび構成するには、次の手順を実行します。すべてのアクションをrootユーザーとして実行します。


注意:

ノード・マネージャがinit.dサービスとして実行されている場合、起動された管理対象サーバーはrootユーザーによって所有されています。管理対象サーバーをroot以外のユーザーとして起動するには、管理コンソールを使用して、「ドメイン」→「環境」→「マシン」→「構成」→「一般」ページで「バインド後のユーザーID」属性および「バインド後のグループID」属性を有効にします。その後、ノード・マネージャおよび管理サーバーを再起動してから、管理対象サーバーを再起動します。

  1. サービス名を決定します。以降の手順では、このサービス名を<service name>と表記します。

    命名のパターンをDOMAIN_NAME-nodemanager (base_domain-nodemanagerなど)とすることをお薦めします。

  2. 例4-3のサンプル・スクリプトを/etc/init.d/<service name>にコピーします。

  3. /etc/init.d/<service name>を編集し、次に示す変数を実際の環境およびインストールに合せて変更します。

    • 例4-3###BEGIN INIT INFOセクションにあるProvides設定。

    • 例4-3###BEGIN CUSTOM ENVセクションにあるDOMAIN_HOME設定。

  4. chmod +xコマンドを使用して/etc/init.d/<service name>を実行可能にします。

  5. init.dサービスを、sudo /sbin/chkconfig --add <service name>で追加します。

  6. サービスを起動、停止、再起動する、またはステータスを表示するには、次のコマンドを使用します。

    サービスを起動するには: 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.1.3
JAVA_HOME=/Java/jdk1.7.0_51
LD_LIBRARY_PATH=/Oracle/Middleware/Oracle_Home_WLS_12.1.3/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サービスとしてのホストごとのノード・マネージャの構成

ホストごとのノード・マネージャをinit.dサービスとしてインストールおよび構成するには、次の手順を実行します。すべてのアクションをrootユーザーとして実行します。

開始する前に、ホストごとのノード・マネージャがドメイン内で正しく構成されていることを確認し、その後でこのスクリプトを使用してください。「ホストごとのノード・マネージャの構成」を参照してください。

  1. サービス名を決定します。以降の手順では、このサービス名を<service name>と表記します。

    命名のパターンを<a brief name for MW_HOME>-nodemanager (wls12.1.3-nodemanagerなど)とすることをお薦めします。

  2. 例4-4のサンプル・スクリプトを/etc/init.d/<service name>にコピーします。

  3. /etc/init.d/<service name>を編集し、次に示す変数を実際の環境およびインストールに合せて変更します。

    • 例4-4###BEGIN INIT INFOセクションにあるProvides設定。

    • 例4-4###BEGIN CUSTOM ENVセクションにあるMW_HOME設定。

  4. chmod +xコマンドを使用して/etc/init.d/<service name>を実行可能にします。

  5. init.dサービスを、sudo /sbin/chkconfig --add <service name>で追加します。

  6. サービスを起動、停止、再起動する、またはステータスを表示するには、次のコマンドを使用します。

    サービスを起動するには: 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.1.3
JAVA_HOME=/Java/jdk1.7.0_51
LD_LIBRARY_PATH=/Oracle/Middleware/Oracle_Home_WLS_12.1.3/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