WebLogic Server のコンフィグレーションと管理
|
|
ノード マネージャの特長と機能については、「ノード マネージャの概要」を参照してください。以下の節では、ノード マネージャのコンフィグレーションと使用の方法について説明します。
この節では、インストール後のノード マネージャのデフォルト コンフィグレーション、およびプロダクション環境向けにノード マネージャをコンフィグレーションするためのタスクについて説明します。
注意 :WebLogic 環境内の各サーバ インスタンスには、そのインスタンスがどのドメインやクラスタに含まれるかに関係なく、またそれが管理サーバであるか管理対象サーバであるかに関係なく、ユニークな名前を付ける必要があります。
ノード マネージャは、ノード マネージャと管理サーバを同じマシンで実行し、デモ用の SSL コンフィグレーションを使用するのであれば WebLogic Server のインストール後に実行することができます。デフォルトでは、以下の動作がコンフィグレーションされます。
この節では、プロダクション環境用にノード マネージャをコンフィグレーションし、その動作を調整するためのタスクについて簡単に説明します。
ノード マネージャは、同じマシンおよび信頼性のあるホストで動作している管理サーバからのコマンドを受け入れます。信頼性のあるホストは、nodemanager.hosts ファイルの IP アドレスまたは DNS 名で識別されます。このファイルは、ノード マネージャを最初に起動したときに、その実行ディレクトリに作成されます。
注意 : ノード マネージャを起動すると、そのたびにカレント ディレクトリ内に nodemanager.hosts が存在するかどうかが検索され、存在しない場合はこのファイルが作成されます。
信頼性のあるホスト ファイルの名前および位置を指定するには、trustedHosts コマンドライン引数を使用します。詳細については、「ノード マネージャ プロパティ」を参照してください。
デフォルトでは、nodemanager.hosts は空です。信頼性のあるホストを追加するには、ファイルをテキスト エディタで編集し、管理サーバが動作する信頼性のあるホストごとに 1 行追加します。すべてのホストからのコマンドをノード マネージャで受け入れるようにするには、hosts ファイルにアスタリスクを挿入します。
DNS 名で信頼性のあるホストを識別する場合は、ノード マネージャを起動するときに DNS の逆引き参照を有効にする必要があります。デフォルトでは、DNS の逆引き参照は無効です。DNS の逆引き参照は、nodemanager.properties ファイルで有効にするか、次のコマンドライン引数で有効にします。
注意 : nodemanager.hosts ファイルを変更した後にノード マネージャを再起動する必要はありません。
ノード マネージャは、WebLogic Server のインストール プロセスでオペレーティング システム サービス (UNIX マシンではデーモン、Windows マシンでは Windows サービス) としてインストールされます。デフォルトのオペレーティング システム サービスは、ノード マネージャを起動して localhost:5555 でリスンします。
リモート システムからのコマンドを受け入れるようにノード マネージャをコンフィグレーションする場合は、デフォルトのノード マネージャ サービスをアンインストールして、その後に localhost 以外のリスン アドレスでリスンするように再インストールします。
WL_HOME\server\bin ディレクトリ (WL_HOME は WebLogic Server の最上位インストール ディレクトリ) には、ノード マネージャ サービスをアンインストールするための uninstallNodeMgrSvc.cmd スクリプト、およびノード マネージャをサービスとしてインストールするための installNodeMgrSvc.cmd スクリプトが格納されています。
WebLogic Server には、ノード マネージャ デーモン プロセスをアンインストールおよび再インストールするためのコマンド スクリプトは用意されていません。既存のデーモンをアンインストールする手順、および新しいデーモンを設定する手順については、オペレーティング システムのマニュアルを参照してください。
installNodeMgrSvc.cmd ファイルの内容を表示します。ただし、このコマンド ファイルは Windows 固有のファイルです。このファイルには以下が記述されています。 詳細については、「ノード マネージャの環境変数」を参照してください。
オペレーティング システム固有の設定が必要な場合は、オペレーティング システムのマニュアルを参照してください。
ノード マネージャでリモート管理サーバからのコマンドを受け入れるようにするには、ノード マネージャ プロセスを実行するマシンごとにマシン定義を作成する必要があります。
マシン定義では、特定のマシンとそれがホストするサーバ インスタンスを関連付け、そのマシン上のノード マネージャ プロセスの接続属性を指定します。
マシン定義は、Administration Console の [マシン|コンフィグレーション|ノード マネージャ] タブで作成します。[リスン アドレス] ボックスには、ノード マネージャがリスンする DNS 名または IP アドレスを入力します。
ノード マネージャが管理対象サーバの起動に使用する起動引数は、その管理対象サーバの [サーバ|コンフィグレーション|リモートスタート] タブで指定します。この方法で管理対象サーバの起動引数を指定しない場合、ノード マネージャは独自のプロパティをデフォルトとして使用して管理対象サーバを起動します。それらのデフォルトでも管理対象サーバを起動することができますが、起動プロセスの一貫性と信頼性を確保するためには、管理対象サーバごとに起動引数をコンフィグレーションする必要があります。
「サービスとしてのノード マネージャの起動」に説明されているようにノード マネージャを Windows サービスとして実行する場合は、ノード マネージャの制御下に置かれる管理対象サーバごとに以下の JVM プロパティをコンフィグレーションする必要があります。
このオプションを設定しない場合、ノード マネージャはシステムの再起動後に管理対象サーバを再起動できません。それは、次のようにイベントが起こるためです。
-Xrs または -Xnohup オプションを使用して管理対象サーバを起動すると、マシンの停止時に管理対象サーバを即座に停止しないようにしてこのような状況が起こらないようになります。
サーバ インスタンスで定義できる他の起動引数については、Administration Console オンライン ヘルプの「[サーバ]-->[コンフィグレーション]-->[リモート スタート]」を参照してください。
ノード マネージャ プロセスに接続する各管理サーバでは、リスン アドレスを確実に定義する必要があります。管理サーバのリスン アドレスが定義されていない場合、ノード マネージャが管理対象サーバを起動するときに、その対象のサーバがコンフィグレーション情報の取得で localhost にアクセスするよう指示されます。
リスン アドレスは、Administration Console の [サーバ|コンフィグレーション|全般] タブで設定します。
ノード マネージャは、双方向 SSL を使用して管理サーバおよび管理対象サーバと通信します。
WebLogic Server のデフォルト インストールには、SSL をそのまま使用することを可能にするデモ用の ID キーストアおよび信頼キーストアが含まれています。それらのキーストア (DemoIdentity.jks および DemoTrust.jks) は、WLSHome/server/lib にインストールされます。開発およびテスト目的の場合は、このキーストア コンフィグレーションで十分です。
プロダクション環境用の SSL のコンフィグレーションには、ノード マネージャと、ノード マネージャが通信する管理サーバおよび管理対象サーバの各々の ID と信頼を取得してから、適切な ID と信頼を使って、ノード マネージャ、管理サーバ、および管理対象サーバをコンフィグレーションすることが含まれます。また、ホスト名検証の使用と管理ポートを考慮に入れる必要があります。プロダクション用の SSL コンポーネントのコンフィグレーション方法については、『WebLogic Security の管理』の「SSL のコンフィグレーション」を参照してください。
多くの環境において、明示的に定義する必要のあるノード マネージャ プロパティは nodemanager.properties の SSL 関連のプロパティのみです (「ノード マネージャに対する SSL のコンフィグレーション」を参照)。ただし、nodemanager.properties には、環境や設定によっては指定することも必要な SSL 以外のプロパティも格納されます。 次に例を示します。
StartTemplate および NativeVersionEnabled プロパティを指定することが適当な場合もある ListenAddress および ListenPort を定義するTrustedHosts および SavedLogsDirectory を定義するこれらのオプションや、JavaHome、WeblogicHome、ReverseDNSEnabled などのオプションは、nodemanager.properties で必要に応じて設定できます。定義するプロパティを決定する際には、「ノード マネージャ プロパティ」にあるプロパティの説明を元に検討してください。
必要に応じて、ノード マネージャが動作する各システムで nodemanager.properties を更新してください。
注意 : nodemanager.properties は、WebLogic Server をインストールした後、初めてノード マネージャを起動したときのディレクトリに作成されます。ノード マネージャを起動すると、そのたびにカレント ディレクトリ内に nodemanager.properties が存在するかどうかが検索され、存在しない場合はこのファイルが作成されます。
このファイルには、ノード マネージャがいったん起動するまではアクセスできません。
ノード マネージャのデフォルトのモニタ、停止、および再起動動作は、「デフォルト コンフィグレーション (開発環境)」で説明されています。動作を再コンフィグレーションするには、Administration Console オンライン ヘルプの「管理対象サーバの自動状態モニタ、停止、および再起動のコンフィグレーション」を参照してください。
注意 : これらの機能は、「管理対象サーバの自動再起動の前提条件」で説明されている条件が満たされている場合に利用できます。
以下の節では、ノード マネージャの起動方法、必須の環境変数、およびコマンドライン引数について説明します。
事前に必要なコンフィグレーションの手順については、「デフォルト コンフィグレーション (開発環境)」または「コンフィグレーション チェックリスト (プロダクション環境)」を参照してください。
WebLogic Server のインストール プロセスでは、ノード マネージャが自動的にサービスとしてインストールされます。したがって、ノード マネージャはシステムの起動時に自動的に起動します。デフォルトでは、ノード マネージャは localhost でリスンします。ノード マネージャでリモート システムからのコマンドを受け入れるようにする場合は、デフォルトのノード マネージャ サービスをアンインストールして、その後に localhost 以外のリスン アドレスでリスンするように再インストールします。詳細については、「起動サービスの再コンフィグレーション」を参照してください。
オペレーティング システム サービスとしてノード マネージャを実行することはお勧めではありますが、コマンド プロンプトまたはスクリプトを使用してノード マネージャを手動で起動することもできます。ノード マネージャで必要とされる環境変数については「ノード マネージャの環境変数」、コマンドライン オプションについては「ノード マネージャ プロパティ」で説明します。
ノード マネージャのサンプル起動スクリプトは、WL_HOME\server\bin ディレクトリにインストールされます。WL_HOME は、WebLogic Server の最上位インストール ディレクトリです。 Windows システムでは startNodeManager.cmd、UNIX システムでは startNodeManager.sh を使用します。
これらのスクリプトは必須の環境変数を設定し、WL_HOME/common/nodemanager でノード マネージャを起動します。ノード マネージャは、このディレクトリを出力とログ ファイルを格納するための作業ディレクトリとして使用します。別の作業ディレクトリを指定するには、テキスト エディタで起動スクリプトを編集し、NODEMGR_HOME 変数の値を目的のディレクトリに設定します。
サンプル起動スクリプトを編集して、コマンド修飾子で、ノード マネージャ プロセスの適切なリスン アドレスおよびポート番号が設定されるようにしてください。
WebLogic Server 8.1 では、ノード マネージャのプロパティをコマンドラインで入力するか、ノード マネージャを起動したディレクトリにインストールされる nodemanager.properties ファイルで定義できます。
コマンドラインで指定された値は、nodemanager.properties の値をオーバーライドします。
java [java_property=value...] -D[nodemanager_property=value]-D[server_property=value] weblogic.NodeManager
注意 : WebLogic Server 8.1 では、weblogic.nodeManager.NodeManager に新しいラッパーが提供されます。その新しいラッパーは、weblogic.NodeManager です。
このコマンドラインで、java_property は java 実行可能ファイルの直接引数 (-ms や -mx など) です。CLASSPATH 環境変数を設定しなかった場合、-classpath オプションを使用して必須のノード マネージャ クラスを指定します。
ノード マネージャは、双方向 SSL を使用して管理サーバおよび管理対象サーバと通信します。ノード マネージャを起動するときには、SSL 通信に関連したセキュリティ コンポーネントを識別する起動引数を指定する必要があります。ノード マネージャのすべてのコマンドライン引数については、「ノード マネージャ プロパティ」を参照してください。
注意 : Solaris または HP UX 以外の UNIX オペレーティング システム上でノード マネージャを実行する場合、java コマンドラインに渡すパラメータでスペースを使用することはできません。たとえば次のコマンドは、big iron にスペースが含まれているので無効です。
ノード マネージャを起動する前に、いくつかの環境変数を設定しておく必要があります。ドメインの環境変数は、起動スクリプトまたはコマンドラインで設定できます。WebLogic Server に付属のサンプル起動スクリプト (Windows システムでは startNodeManager.cmd、UNIX システムでは startNodeManager.sh) は、次の表にある必須変数を設定します。
ノード マネージャ プロパティは、ノード マネージャ プロセスのさまざまなコンフィグレーション設定を定義します。ノード マネージャ プロパティは、コマンドラインで指定するか、nodemanager.properties ファイルで定義できます。nodemanager.properties ファイルは、WebLogic Server がインストールされた後、最初にノード マネージャを起動したディレクトリに作成されます。コマンドラインで指定された値は、nodemanager.properties の値をオーバーライドします。
表 5-2 に、ノード マネージャのプロパティについて示します。
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
ノード マネージャは、管理対象サーバの起動時に次の表で定義されているサーバ プロパティを使用します。それらの値は、管理対象サーバの [リモート スタート] タブで定義できます。あるいは、ノード マネージャを起動するときにコマンドラインで指定することもできます。[リモート スタート] タブで指定された値は、コマンドラインで指定された値に優先します。
ノード マネージャ プロセスを停止するには、それが動作しているコマンド シェルを閉じます。
管理対象サーバをモニタ中のノード マネージャ プロセスを停止する場合、そのノード マネージャ プロセスが停止しているときには管理対象サーバを停止しないでください。ノード マネージャは、それがダウンしているときには管理対象サーバで行われた停止に気付きません。ノード マネージャが再起動したときに、それがモニタしていた管理対象サーバが動作していないと、ノード マネージャは自動的にその管理対象サーバを再起動します。
以下の節では、ノード マネージャの問題を診断および解決する方法について説明します。個々の管理対象サーバの起動または停止に関する問題を解決するには、ノード マネージャのログ ファイルを利用します。ノード マネージャのコンフィグレーションおよび起動に関する問題の解決には、「一般的な問題の修正」に示す手順を利用してください。
ノード マネージャは、それ専用のログ ファイルを生成します。そのログ ファイルには、ノード マネージャの起動と状態のメッセージが格納されます。ノード マネージャのログ ファイルは、ノード マネージャを起動するディレクトリの NodeManagerLogs/NodeManagerInternal サブディレクトリに書き込まれます。デフォルトのノード マネージャは、WL_HOME/common/nodemanager で起動します。その場合、ノード マネージャのログ ファイルは WL_HOME/common/nodemanager/NodeManagerLogs/NodeManagerInternal に格納されます。
ログ ファイルには、nm_hostname_date-time.log という名前が付けられます。date-time は、ノード マネージャが起動した時間を示します。
ノード マネージャは起動するたびに新しいログ ファイルを作成するため、NodeManagerLogs サブディレクトリを定期的に削除して古いログ ファイルによって占有されているスペースを解放する必要があります。
WebLogic Server インスタンスを起動するときには、起動またはエラーのメッセージが STDOUT または STDERROR、およびサーバ ログ ファイルに出力されます。ログ ファイルを参照するには、Administration Console の左ペインでサーバを右クリックして [サーバ ログの表示] オプションを選択するか、任意のサーバ タブ ページで [サーバ ログの表示] リンクを選択します。
ノード マネージャでサーバ インスタンスを起動すると、そのサーバ インスタンスの起動およびエラーのメッセージは NodeManagerLogs/domain_serverName ディレクトリのログ ファイルに書き込まれます。domain_serverName は、ドメイン名と管理対象サーバ名を示します。NodeManagerLogs は、ノード マネージャを起動したディレクトリのサブディレクトリです。デフォルトのノード マネージャは、WL_HOME/common/nodemanager で起動します。その場合、管理対象サーバのログ ファイルは WL_HOME/common/nodemanager/NodeManagerLogs/domain_serverName に格納されます。
NodeManagerLogs ディレクトリには、そのマシン上でノード マネージャ プロセスによって起動された管理対象サーバごとに 1 つのサブディレクトリが格納されます。
サーバ ディレクトリに格納されるログ ファイルは次のとおりです。
servername_pid - servername という名前の管理対象サーバのプロセス ID を保存します。ノード マネージャは、管理サーバから要請があった場合に、この情報を使用して管理対象サーバを強制停止します。nodemanager.config - 管理対象サーバを起動するときに管理サーバからノード マネージャに渡される起動コンフィグレーション情報を保存します。servername_output.log - ノード マネージャが管理対象サーバを起動しようとするときに生成されるノード マネージャ起動メッセージを保存します。サーバの起動が新たに試行されると、このファイルは _PREV を付け加えることによって名前変更されます。servername_error.log - ノード マネージャが管理対象サーバを起動しようとするときに生成されるノード マネージャ エラー メッセージを保存します。サーバの起動が新たに試行されると、このファイルは _PREV を付け加えることによって名前変更されます。[サーバ|モニタ|リモート スタートの出力] タブでは、サーバの標準出力とエラー メッセージ、および特定の管理対象サーバに対するノード マネージャのログ メッセージを参照できます。
管理サーバが起動したディレクトリに作成される NodeManagerClientLogs ディレクトリには、管理サーバに存在するノード マネージャ クライアントで使用されるログ ファイルが格納されます。
NodeManagerClientLogs ディレクトリには、ノード マネージャを通じて起動が試行された管理対象サーバごとにサブディレクトリが存在します。それらのサブディレクトリの各ログは、サーバ プロセスの起動や強制停止といった処理の試行に対応します。ログ ファイルの名前には、アクションが試行された時刻を示すタイムスタンプが含まれます。
次の表に、一般的なノード マネージャの問題とその解決方法を示します。
|
|
|
|
|
|
|
|
|
|
|
ノード マネージャでは、サーバの再起動時に使用するために、管理対象サーバについて独自の内部的な状態が定義されています。ノード マネージャが管理対象サーバを再起動するようにコンフィグレーションされている場合は、再起動の過程で Administration Console に以下の状態が示されます。
FAILED_RESTARTING - 障害が発生した管理対象サーバを再起動しています。ACTIVATE_LATER - 現在の RestartInterval において MaxRestart 回の再起動を試みており、次の RestartInterval でさらに再起動を試みます。FAILED_NOT_RESTARTABLE - 管理対象サーバで障害が発生したか、管理対象サーバの AutoKillIfFailed 属性が True に設定されている結果としてノード マネージャによって強制停止されましたが、AutoRestart 属性が False に設定されているためにノード マネージャが管理対象サーバを再起動できません。
|
|
|