ナビゲーションをスキップ

WebLogic Server のコンフィグレーションと管理

  前 次 前/次ボタンと目次ボタンとの区切り線 目次  

ノード マネージャの概要

プロダクション WebLogic Server 環境の管理対象サーバは、複数のマシンおよび複数の地理的位置にまたがって分散することがよくあります。

ノード マネージャは WebLogic Server から独立したプロセスとして動作する Java ユーティリティであり、これを使用すると、管理サーバとの位置関係にとらわれずに管理対象サーバの一般的な操作を実行できます。ノード マネージャはオプションの機能ですが、高可用性が要求されるアプリケーションを WebLogic Server 環境でホストする場合は使用すると大きなメリットがあります。

管理対象サーバのホスト マシンでノード マネージャを実行すると、Administration Console またはコマンドラインを利用してリモートからその管理対象サーバを起動および停止できます。ノード マネージャでは、予期せぬ障害が発生した後に管理対象サーバを自動的に再起動することもできます。

以下の節では、ノード マネージャの概要について説明します。

ノード マネージャをコンフィグレーションして使用するには、「ノード マネージャのコンフィグレーション、起動、および停止」を参照してください。

 


ノード マネージャの環境

以降の節では、ノード マネージャがどのように WebLogic Server 環境に組み込まれるのかを説明します。

管理対象サーバの各ホスト マシンでのノード マネージャの実行

ノード マネージャの機能を利用するには、管理対象サーバをホストする各マシンでノード マネージャ プロセスを実行する必要があります。1 つのマシン上にある複数の管理対象サーバを 1 つのノード マネージャ プロセスで管理できます。図 4-1 では、マシン C の 2 つの管理対象サーバを、1 つのノード マネージャ プロセスで管理できます。

ノード マネージャで管理サーバを起動または停止することはできません。プロダクション環境の場合、管理サーバが動作しているマシンでは、管理対象サーバが動作していない限りノード マネージャを実行する必要はありません。開発環境では、管理サーバと 1 つまたは複数の管理対象サーバをホストするマシンでノード マネージャを実行する必要があるかもしれません。そうすることで、Administration Console を使用して管理対象サーバを起動できるからです。

オペレーティング システム サービスとしてのノード マネージャの実行

ノード マネージャは、WebLogic Server のインストール プロセスでオペレーティング システム サービス (UNIX マシンではデーモン、Windows マシンでは Windows サービス) として動作するようにインストールされます。オペレーティング システム サービスは、オペレーティング システムが起動するたびに自動的に起動します。

ノード マネージャの主要な機能は、障害の後に管理対象サーバを再起動できる機能です。障害がマシンのクラッシュである場合、ノード マネージャがサービスとして実行されていれば、そのノード マネージャはマシンの再起動で自動的に起動し、そのマシン上の管理対象サーバを再起動するために使用できます。

ノード マネージャはドメインに依存しない

ノード マネージャ プロセスは、特定の WebLogic ドメインとは関連付けられません。ノード マネージャはドメインの範囲外に位置し、1 つのノード マネージャ プロセスを使用して、それがアクセスできるどの WebLogic Server ドメインの管理対象サーバでも起動できます。図 4-1 では、管理対象サーバ 2 と管理対象サーバ 3 は別々のドメインに存在することができ、1 つのノード マネージャ プロセスで管理できます。ノード マネージャは、マシン リソースを使用して管理対象サーバと関連付けられます (「ノード マネージャを使用するためのマシンのコンフィグレーション」を参照)。

ノード マネージャの起動

ノード マネージャの機能は、WebLogic Server Administration Console または JMX ユーティリティ (weblogic.Admin コマンドライン ユーティリティまたは独自に作成したユーティリティ) を使用して実行できます。JMX の詳細については、『WebLogic JMX Service プログラマーズ ガイド』を参照してください。

通常、ノード マネージャはリモート マシン上の管理サーバから呼び出されます。ただし、ノード マネージャは同じマシン上の管理サーバから呼び出すこともできます。したがって、Administration Console を使用して同じマシン上にある管理対象サーバを起動することができます。あるマシンでノード マネージャが実行されていない場合、そのマシン上の管理対象サーバについては [サーバ|制御] タブ ページで起動コマンドを使用できません。

ノード マネージャでの SSL の使用

ノード マネージャは、双方向 SSL で通信相手のサーバ インスタンスの ID を検証して、管理対象サーバおよび管理サーバと通信します。セキュアでない通信プロトコルでノード マネージャを使用することはできません。

ノード マネージャと管理対象サーバの接続は、常にオープンな SSL 接続です。ノード マネージャは、この接続を使用して管理対象サーバに GETSTATE メッセージを送信します。管理対象サーバは、この接続を使用して各 GETSTATE メッセージに応答します。

ノード マネージャと管理サーバの接続は、存続期間の短い要求/応答型 SSL 接続です。

ノード マネージャのネイティブ サポート

BEA では、Windows、Solaris、HP UX、Linux on Intel、Linux on Z-Series、および AIX オペレーティング システム用のネイティブ ノード マネージャ ライブラリを提供しています。また、非ネイティブ ノード マネージャ ライブラリもこれらのプラットフォーム上でサポートされています。

他の UNIX および Linux オペレーティング システムでは、サポートされているのは非ネイティブ ノード マネージャ ライブラリのみなので、ノード マネージャの起動時にコマンドラインで weblogic.nodemanager.nativeVersionEnabled オプションをfalse に設定して、pure Java バージョンを使用する必要があります。 詳細については、「ノード マネージャ プロパティ」を参照してください。

ネイティブ ノード マネージャは、Open VMS、OS/390、AS400、UnixWare、または Tru64 UNIX ではサポートされていません。

 


ノード マネージャの機能

ノード マネージャを使用すると、以下のタスクを行うことができます。

以降の節では、これらの機能について詳しく説明します。

管理対象サーバの起動

ノード マネージャを使用して管理対象サーバを起動するという Administration Console (または weblogic.Admin などの JMX ユーティリティ) からの要求は、その管理対象サーバの含まれるドメインの管理サーバに対して発行されます。管理サーバは、目的の管理対象サーバをホストするマシン上のノード マネージャ プロセスに起動コマンドをディスパッチします。ノード マネージャは起動コマンドを実行して、管理対象サーバ プロセスを作成します。管理対象サーバが 60 秒以内に応答しない場合、ノード マネージャは管理対象サーバの状態を UNKNOWN に設定します。ノード マネージャは、起動コマンドを再試行しません。管理対象サーバが正常に起動してノード マネージャとの接続を確立した場合、管理対象サーバの状態は適切に更新されます。

ノード マネージャは、[サーバ|コンフィグレーション|リモートスタート] タブで管理対象サーバに対してコンフィグレーションされた起動引数を使用して管理対象サーバを起動します。管理対象サーバは、[サーバ|コンフィグレーション|全般] タブの [詳細オプション] 部分でコンフィグレーションされた起動モードで起動します。デフォルトの起動モードは RUNNING です。

注意 : ノード マネージャは、スクリプトまたはコマンドラインで管理対象サーバを起動するときに指定する同じコマンド引数を使用します。起動引数については、『WebLogic Server コマンド リファレンス』の「weblogic.Server コマンドライン リファレンス」を参照してください。

[リモート スタート] タブで管理対象サーバの起動引数を指定しない場合、ノード マネージャは独自のプロパティをデフォルトとして使用して管理対象サーバを起動します (「ノード マネージャ プロパティ」を参照)。ノード マネージャのプロパティ値でも管理対象サーバを起動することができますが、起動プロセスの一貫性と信頼性を確保するためには、管理対象サーバごとに起動引数をコンフィグレーションする必要があります。

ノード マネージャは、ノード マネージャおよび管理サーバ プロセスとは独立した、対象マシン上の専用プロセスで管理対象サーバを起動します。ディレクトリは、ノード マネージャのプロセスが動作しているのと同じディレクトリです。別のディレクトリで管理対象サーバを実行するには、[サーバ|コンフィグレーション|リモートスタート] タブで Root Directory 属性を設定します。

管理対象サーバを起動するときに通常は STDOUT または STDERROR に出力されるメッセージは、代わりに Administration Console に表示され、そのサーバ インスタンスのノード マネージャ ログ ファイルに書き込まれます。詳細については、「管理対象サーバのログ ファイル」を参照してください。

管理対象サーバのサスペンドまたは停止

ノード マネージャを使用して管理対象サーバを停止またはサスペンドするという Administration Console (または weblogic.Admin などの JMX ユーティリティ) からの要求は、その管理対象サーバの含まれるドメインの管理サーバに対して発行されます。管理サーバは、対象の管理対象サーバにコマンドを直接ディスパッチします。管理サーバから対象の管理対象サーバにアクセスできない場合、コマンドは目的の管理対象サーバのマシン上で動作しているノード マネージャ プロセスにディスパッチされます。ノード マネージャは、要求を目的の管理対象サーバに転送します。管理対象サーバがノード マネージャからの停止要求に応答できない場合、ノード マネージャ プロセス自体が停止を実行します。

障害の発生した管理対象サーバの停止

ノード マネージャは、それが起動した管理対象サーバの自動的に報告される状態を定期的にチェックします。管理対象サーバがどのようにしてそれ自体の状態をモニタするのかについては、「サーバの自動状態モニタ」を参照してください。デフォルトでは、ノード マネージャは 180 秒おきに管理対象サーバの状態を問い合わせます。

ノード マネージャは、状態が「failed」であることを報告する管理対象サーバを自動的に強制停止します。ただしそれは、管理対象サーバの [失敗時の自動強制停止] 属性が true に設定されている場合です。デフォルトでは、[失敗時の自動強制停止] 属性は false です。ハングした管理対象サーバをノード マネージャで再起動するには、その管理対象サーバの [サーバ|コンフィグレーション|状態モニタ] タブで [失敗時の自動強制停止] を true に設定します。

管理対象サーバが 3 回連続して状態クエリに応答しない場合、その管理対象サーバは「failed」であると判断されてノード マネージャによって停止されます ([失敗時の自動強制停止] が設定されている場合)。

ノード マネージャが管理対象サーバの状態をチェックする頻度を指定する手順については、「管理対象サーバのモニタ、停止、および再起動のコンフィグレーション」を参照してください。

クラッシュした管理対象サーバおよび障害の発生した管理対象サーバの再起動

デフォルトのノード マネージャは、クラッシュした管理対象サーバ、および状態が「failed」で強制停止された管理対象サーバを自動的に再起動します。

デフォルトのノード マネージャは、1 時間に 2 回まで管理対象サーバを再起動します。ノード マネージャが管理対象サーバを再起動する回数と、その回数の再起動を実行する期間をコンフィグレーションすることができます。手順については、「管理対象サーバのモニタ、停止、および再起動のコンフィグレーション」を参照してください。

注意 : 管理対象サーバをモニタ中のノード マネージャ プロセスを停止する場合、そのノード マネージャ プロセスが停止しているときには管理対象サーバを停止しないでください。ノード マネージャは、それがダウンしているときには管理対象サーバで行われた停止に気付きません。ノード マネージャが再起動したときに、それがモニタしていた管理対象サーバが動作していないと、ノード マネージャは自動的にその管理対象サーバを再起動します。

管理対象サーバの自動再起動の前提条件

ノード マネージャで障害の発生した管理対象サーバを再起動するためには、その動作を適切にコンフィグレーションする必要があります。詳細については、「管理対象サーバのモニタ、停止、および再起動のコンフィグレーション」を参照してください。さらに、以下の前提条件があります。

 


ライフサイクル操作でのノード マネージャの通信

この節では、ノード マネージャ クライアント、ノード マネージャ プロセス、およびノード マネージャ プロセスで管理される管理対象サーバの間の通信を説明します。

図 4-1表 4-1 は、ノード マネージャの処理の間に行われる主要な通信を図示し、説明しています。

特定のライフサイクル イベントと関連する対話については、以下を参照してください。

管理対象サーバを起動するためのノード マネージャの通信

管理対象サーバを起動するコマンドを受信すると、ノード マネージャ プロセスは管理対象サーバ プロセスを作成するためにオペレーティング システムにリクエストを発行します。管理対象サーバは起動すると、自身がすでに起動していること、およびその状態のモニタを開始するようにノード マネージャ プロセスに通知します。

ScavengerDelaySeconds 属性で指定された期間内に管理対象サーバがノード マネージャ プロセスに接続できなかった場合、ノード マネージャ プロセスは管理対象サーバの状態が UNKNOWN であると宣言し、タスクは失敗します。

図 4-2 ノード マネージャによる管理対象サーバの起動

ノード マネージャによる管理対象サーバの起動


 


 


 


 


 


 

管理対象サーバを停止するためのノード マネージャの通信

図 4-3 は、管理対象サーバの停止を開始する中で行われるノード マネージャの通信を示しています。管理対象サーバの状態と可用性によっては、ノード マネージャは別の方法で停止を始める必要があります。

エンド ユーザが Administration Console から停止アクションを選択すると、ノード マネージャは次のように機能します。

  1. 管理サーバのノード マネージャ クライアントが管理対象サーバに直に shutDown を発行します。ノード マネージャ クライアントが管理対象サーバへのアクセスに成功すると、管理対象サーバは「正常な停止」で説明されているとおりに停止シーケンスを実行します。失敗した場合、ノード マネージャは (2) で説明されている方法を試します。
  2. ノード マネージャ クライアントから管理対象サーバにアクセスできない場合、そのクライアントは管理対象サーバのホスト マシン上にあるノード マネージャ プロセスに shutDown コマンドを発行します。ノード マネージャ プロセスから管理対象サーバにアクセスできる場合、管理対象サーバはコマンドに対して確認応答し、「正常な停止」で説明されているとおりに停止シーケンスを実行します。失敗した場合、ノード マネージャは (3) で説明されている方法を試します。
  3. 管理対象サーバが shutDown に対して確認応答しない場合、ノード マネージャはノード マネージャ プロセスを強制終了するリクエストをオペレーティング システムに発行します。
  4. 図 4-3 ノード マネージャによる管理対象サーバの停止

    ノード マネージャによる管理対象サーバの停止


     


     

管理対象サーバを再起動するためのノード マネージャの通信

図 4-4 は、状態が FAILED である管理対象サーバを再起動する中で行われるノード マネージャの通信を示しています。

注意 : ノード マネージャは、AutoKillIfFailed 属性が true に設定されている管理対象サーバのみ強制終了します。ノード マネージャは、AutoRestart 属性がtrue に設定されている管理対象サーバのみ再起動します。

ノード マネージャは、管理対象サーバの HealthCheckIntervalSeconds 属性で指定されているとおりに、GETSTATE リクエストを定期的に管理対象サーバに発行します。

管理対象サーバが状態 FAILED を報告するか、ScavengerDelaySeconds の期間内に GETSTATE に応答しない場合、ノード マネージャ プロセスは管理対象サーバ プロセスを強制終了するリクエストをオペレーティング システムに発行します。

RestartDelaySeconds の後、ノード マネージャ プロセスは新しい管理対象サーバ プロセスを作成するリクエストをオペレーティング システムに発行します。

管理対象サーバが起動すると、その管理対象サーバは「管理対象サーバを起動するためのノード マネージャの通信」で説明されているとおりにノード マネージャにアクセスします。

管理対象サーバがノード マネージャ プロセスにアクセスしない場合、ノード マネージャ プロセスは管理対象サーバの RestartMax 属性で指定された回数までプロセスの作成を試行します。その作成の試行は、管理対象サーバの RestartIntervalSeconds で指定されたとおりに定期的に行われます。

図 4-4 ノード マネージャによる管理対象サーバの再起動


 

ノード マネージャによる管理対象サーバの再起動


 


 

障害後に通信を再確立するためのノード マネージャの通信

図 4-4 は、管理対象サーバのモニタ中、障害の発生後にノード マネージャ プロセスが再起動するときに行われるノード マネージャの通信を示しています。

起動後、ノード マネージャは GETSTATE リクエストを管理対象サーバに発行します。

管理対象サーバが状態 FAILED を報告するか、ScavengerDelaySeconds の期間内に応答しない場合、ノード マネージャ プロセスは「管理対象サーバを再起動するためのノード マネージャの通信」の説明のとおりに機能します。

図 4-5 障害後に通信を再確立するノード マネージャ プロセス

障害後に通信を再確立するノード マネージャ プロセス


 


 


 

 

フッタのナビゲーションのスキップ  ページの先頭 前 次