Sun Java System Application Server Enterprise Edition 8.1 2005Q1 管理ガイド |
第 4 章
ノードエージェントの設定この章では、Application Server のノードエージェントについて説明します。この章には次の節が含まれています。
ノードエージェントについてノードエージェント
ノードエージェントは、ドメイン管理サーバー (DAS) をホストするマシンを含む、サーバーインスタンスをホストするすべてのマシンに必要な軽量エージェントです。ノードエージェントは次の機能を実行します。
次の図は、ノードエージェントの全体的なアーキテクチャを示しています。
図 4-1 ノードエージェントのアーキテクチャ
ノードエージェントの自動作成
Application Server をインストールすると、マシンのホスト名を持つノードエージェントがデフォルトで作成されます。このノードエージェントは、実行する前に、ローカルマシン上で手動で起動する必要があります。
ノードエージェントとサーバーインスタンスの管理
ノードエージェントを実行していない場合でも、サーバーインスタンスを作成および管理できます。ただし、ノードエージェントを使用してサーバーインスタンスを起動および停止するには、ノードエージェントが実行中である必要があります。
ノードエージェントを停止すると、ノードエージェントが管理するサーバーインスタンスも停止します。
追加ノードエージェント
ノードエージェントは 1 つのドメインを処理します。マシンが複数のドメインで実行されるインスタンスをホストする場合は、複数のノードエージェントを実行する必要があります。
ノードエージェントのプレースホルダ
プレースホルダを使用するノードエージェントが存在しなくても、サーバーインスタンスを作成、削除することは可能です。プレースホルダは、ノードエージェント自体がノードエージェントのローカルシステムに作成される前に、ドメイン管理サーバー (DAS) 上で作成されたノードエージェントの設定です。
注
プレースホルダノードエージェントを作成すると、それを使用してドメインにインスタンスを作成できます。ただし、インスタンスを起動する前に、
asadmin
コマンドを使用して、インスタンスが配置されるマシン上に実際のノードエージェントをローカルに作成し、起動する必要があります。詳細については、「ノードエージェントの作成」と、「ノードエージェントの起動」を参照してください。
ノードエージェントの配備
ノードエージェントは次の 2 つの方法のどちらかを使用して、設定し、配備します。
ノードエージェントの配備の前に
ノードエージェントを配備する前に、次を実行します。
ドメイン管理サーバーが起動し、実行中になったら、オンラインまたはオフライン配備を開始します。
オンライン配備
設定を開始する前に、トポロジが構成されていて、ドメイン用のハードウェアが用意されている場合にドメインを設定するには、オンライン配備を使用します。
次の図は、ノードエージェントのオンライン配備の概要を示しています。
図 4-2 ノードエージェントのオンライン配備
オンライン配備を設定するには、次を実行します。
- サーバーインスタンスをホストするすべてのマシンにノードエージェントをインストールします。
インストールプログラム、または
asadmin
コマンドのcreate-node-agent
を使用します。マシンに複数のエージェントが必要な場合は、asadmin
コマンドのcreate-node-agent
を使用してエージェントを作成します。詳細については、「ノードエージェントの作成」を参照してください。
asadmin
コマンドのstart-node-agent
を使用して、ノードエージェントを起動します。起動すると、ノードエージェントはドメイン管理サーバー (DAS) と通信します。それが DAS に到達すると、DAS にノードエージェントに対する設定が作成されます。設定が作成されると、管理コンソールでノードエージェントを表示できます。
詳細については、「ノードエージェントの起動」を参照してください。
- サーバーインスタンスとクラスタの作成、アプリケーションの配備を含むドメインを設定します。
オフライン配備
オフラインアプローチによって、個々のローカルマシンを設定する前に、ドメインの項目を簡単に定義および再編成できます。
次の図は、オフライン配備手順の概要を示しています。
図 4-3 ノードエージェントのオフライン配備
ローカルマシンでノードエージェントを設定する前に、ドメインとサーバーインスタンスを設定するには、次の手順を実行します (オフライン設定)。
- ドメイン管理サーバーにプレースホルダノードエージェントを作成します。
詳細については、「ノードエージェントのプレースホルダの作成」を参照してください。
- サーバーインスタンスとクラスタを作成して、アプリケーションを配備します。
- サーバーインスタンスをホストするすべてのマシンにノードエージェントをインストールします。
インストールプログラム、または
asadmin
コマンドのcreate-node-agent
を使用します。ノードエージェントには、以前に作成したプレースホルダノードエージェントと同じ名前を付ける必要があります。詳細については、「ノードエージェントの作成」を参照してください。
asadmin
コマンドのstart-node-agent
を使用して、ノードエージェントを起動します。ノードエージェントが起動すると、ドメイン管理サーバーにバインドされ、以前にノードエージェントに関連付けられたサーバーインスタンスを作成します。
詳細については、「ノードエージェントの起動」を参照してください。
ノードエージェントとドメイン管理サーバーとの同期化
設定データがドメイン管理サーバーのリポジトリ (中央リポジトリ) に格納されると同時にノードエージェントのローカルマシンにキャッシュされるため、これら 2 つは同期する必要があります。
ノードエージェントの同期化
初めてノードエージェントが起動すると、中央リポジトリの最新情報の要求をドメイン管理サーバー (DAS) に送信します。ノードエージェントが DAS に正常に接続され、設定情報を取得すると、ノードエージェントは DAS にバインドされます。
DAS にプレースホルダノードエージェントを作成した場合、ノードエージェントが初めて起動するときに、ノードエージェントは DAS の中央リポジトリから設定を取得します。
最初の起動時に、DAS が実行されていないため、ノードエージェントが DAS に到達できない場合、ノードエージェントは停止し、バインドされないままの状態になります。
ドメインのノードエージェントの設定が変更された場合、ノードエージェントを実行するローカルマシンのノードエージェントと自動的に通信します。
DAS のノードエージェント設定を削除すると、次に同期するときにノードエージェント自体が停止し、削除待ちとしてマーク付けされます。ローカルの
asadmin
コマンドのdelete-node-agent
を使用して、ノードエージェントを手動で削除してください。サーバーインスタンスの同期化
管理コンソールまたは
asadmin
ツールを使用して、サーバーインスタンスを明示的に起動する場合、サーバーインスタンスは中央リポジトリと同期します。この同期が失敗すると、サーバーインスタンスは起動しません。ノードエージェントが、管理コンソールまたは
asadmin
ツールによる明示的な要求なしにサーバーインスタンスを起動する場合、サーバーインスタンスのリポジトリキャッシュは同期しません。サーバーインスタンスは、キャッシュに格納された設定によって実行されます。大きなアプリケーションの同期化
同期化の必要な大きなアプリケーションが使用環境に含まれる場合、または使用できるメモリが制限されている場合は、JVM オプションを調整してメモリの使用を制限できます。この調整によって、メモリ不足によるエラーを受信する可能性は低くなります。インスタンス同期化 JVM ではデフォルトの設定が使用されますが、JVM オプションを設定してそれらを変更することもできます。
INSTANCE-SYNC-JVM-OPTIONS
プロパティを使用して、JVM オプションを設定します。このプロパティを設定するコマンドは次のとおりです。asadmin set domain.node-agent.node_agent_name.property.INSTANCE-SYNC-JVM-OPTIONS="JVM_options"
次に例を示します。
asadmin set domain.node-agent.node0.property.INSTANCE-SYNC-JVM-OPTIONS="-Xmx32m -Xss2m"
この例では、ノードエージェントは
node0
、JVM オプションは-Xmx32m -Xss2m
です。JVM オプションの詳細については、次を参照してください。
http://java.sun.com/docs/hotspot/VMOptions.html
注
ノードエージェントの設定にプロパティが追加されたり変更されてもノードエージェントは自動的に同期化されないため、INSTANCE-SYNC-JVM-OPTIONS プロパティの変更後、ノードエージェントを再起動してください。
ノードエージェントログの表示
各ノードエージェントは固有のログファイルを持っています。ノードエージェント関連の問題がある場合、次の場所にあるログファイルを参照します。
node_agent_dir
/
node_agent_name/agent/logs/server.log
.ノードエージェントログが、サーバーのログを参照して問題に関する詳細なメッセージを調べるように指示する場合もあります。
サーバーログの場所は以下のとおりです。
node_agent_dir/node_agent_name/server_name/
logs/server.log
node_agent_dir のデフォルトの位置は domain_root_dir/../nodeagents です。
管理コンソールと asadmin ツールから利用可能なタスク
ノードエージェントについては、ノードエージェントを実行するシステムで一部のタスクをローカルに実施する必要がありますが、その他はドメイン管理サーバーで実施できます。ローカルに実施する必要があるタスクは、ノードエージェントが存在するマシンで実行する asadmin ツールからのみ利用できます。ドメイン管理サーバーで機能するタスクは、管理コンソールと asadmin ツールから利用できます。
次の表は、タスクとそれを実行する場所の概要です。
ノードエージェントに関する管理コンソールタスク一般ノードエージェント情報の表示
エージェントまたはノードエージェントのプレースホルダが作成されてから、その設定を表示するには次を実行します。
- ツリーコンポーネントで、「ノードエージェント」ノードを選択します。
- ノードエージェントの名前をクリックします。
ノードエージェントが既に存在するのに、ここに表示されない場合は、ノードエージェントのホストマシンで、
asadmin start-node-agent
を使用して、ノードエージェントを起動します。詳細については、「ノードエージェントの起動」を参照してください。- ノードエージェントのホスト名をチェックします。
ホスト名が「不明なホスト」の場合、ノードエージェントはドメイン管理サーバー (DAS) と初期接続をしていません。
- ノードエージェントの状態をチェックします。
「稼動中」: ノードエージェントが正常に作成され、現在実行中です。
「停止中」: 次の状況のどちらかです。
- ノードエージェントはローカルマシンで作成されているが、起動していない。
- ノードエージェントは起動したが、その後停止した。
「ランデブーを待機しています」: ノードエージェントは、ローカルマシンで作成されていないプレースホルダです。
ノードエージェントの作成と起動については、「ノードエージェントの作成」と、「ノードエージェントの起動」を参照してください。
- 起動時にインスタンスを起動するかどうかを選択します。
ノードエージェントが起動するときに、ノードエージェントに関連するサーバーインスタンスが自動的に起動するようにするには「Yes」を選択します。インスタンスを手動で起動するには、「No」を選択します。
- ノードエージェントがドメイン管理サーバーと接続したかどうかを確認します。
ノードエージェントがドメイン管理サーバーと接続していない場合、正常に起動していません。
- ノードエージェントに関連するサーバーインスタンスを管理します。
ノードエージェントが実行中の場合、インスタンス名の横にあるチェックボックスをクリックし、「起動」または「停止」をクリックしてインスタンスを起動または停止します。
ノードエージェントのプレースホルダの作成
ノードエージェントは、ノードエージェントをホスティングするマシン上にローカルに作成する必要があるため、ノードエージェントのプレースホルダは、管理コンソールを使用する場合にだけ作成できます。このプレースホルダは、ノードエージェントが存在しない場合のノードエージェントの設定です。
プレースホルダを作成したら、ノードエージェントをホスティングするマシン上で、
asadmin
コマンドのcreate-node-agent
を使用して作成を完了します。詳細については、「ノードエージェントの作成」を参照してください。同機能を持つ
asadmin
コマンド:create-node-agent-config
ノードエージェントの設定の削除
管理コンソールを使用する場合にだけ、ノードエージェントの設定をドメインから削除できます。実際のノードエージェントは削除できません。ノードエージェント自体を削除するには、ノードエージェントのローカルマシンで
asadmin
コマンドのdelete-node-agent
を実行します。詳細については、「ノードエージェントの削除」を参照してください。ノードエージェントの設定を削除する前に、ノードエージェントの実行を停止し、関連するインスタンスを破棄する必要があります。ノードエージェントを停止するには、
asadmin
コマンドのstop-node-agent
を使用します。詳細については、「ノードエージェントの停止」を参照してください。同機能を持つ
asadmin
コマンド:delete-node-agent-config
ノードエージェントの設定の編集
ノードエージェントの設定を編集するには、次の手順を実行します。
この設定がプレースホルダノードエージェント用である場合、
asadmin create-node-agent
を使用して実際のノードエージェントを作成するときに、この設定が引き継がれます。ノードエージェントの作成に関する情報は、「ノードエージェントの作成」を参照してください。この設定が既存のノードエージェント用である場合、ノードエージェントの設定情報が自動的に同期されます。
ノードエージェントのレルムの編集
ノードエージェントに接続されたユーザーの認証レルムを設定します。管理ユーザーだけがノードエージェントにアクセスできます。
- ツリーコンポーネントで、「ノードエージェント」ノードを開きます。
- 編集するノードエージェントの設定を選択します。
- 「認証レルム」タブをクリックします。
- 「ノードエージェントのレルムの編集」ページで、レルムを入力します。
デフォルトは、ノードエージェントの作成時に作成された
admin-realm
です。別のレルムを使用するには、ドメインによって制御されるすべてのコンポーネントまたは正常に通信しないコンポーネントのレルムを置き換えます。- 「クラス名」フィールドで、レルムを実装する Java クラスを指定します。
- 必要なプロパティを追加します。
認証レルムは、特定の実装によって必要とするものが異なるプロバイダ固有のプロパティが必要です。
ノードエージェントの JMX 対応リスナーの編集
ノードエージェントは、JMX を使用してドメイン管理サーバーと通信します。このため、JMX 要求とその他のリスナー情報を待機するポートが必要です。
- ツリーコンポーネントで、「ノードエージェント」ノードを開きます。
- 編集するノードエージェントの設定を選択します。
- 「JMX」タブをクリックします。
- 単一ポート番号を使用して、サーバーのすべての IP アドレスを待機するようにリスナーを設定するときは、「アドレス」フィールドに「0.0.0.0」を入力します。それ以外の場合は、サーバーの有効な IP アドレスを入力します。
- 「ポート」フィールドで、待機するノードエージェントの JMX コネクタのポート番号を入力します。IP アドレスが「0.0.0.0」の場合、ポート番号は一意のものである必要があります。
- 「JMX プロトコル」フィールドで、JMX コネクタがサポートするプロトコルを入力します。
デフォルトは rmi_jrmp です。
- 「すべてのアドレスを許可」の横にあるチェックボックスをクリックして、すべての IP アドレスに接続できるようにします。
ノードエージェントは、ネットワークカードに関連付けられた特定の IP アドレスを待機するか、またはすべての IP アドレスを待機します。すべてのアドレスを許可すると、「待機するホストアドレス」プロパティに値「
0.0.0.0
」が設定されます。- 「レルム名」フィールドで、リスナーの認証を処理するレルムの名前を入力します。
このページの「セキュリティ」セクションで、リスナーが SSL、TLS、あるいはこの両方のセキュリティを使用するように設定します。
安全なリスナーを設定するには、次の手順を実行します。
asadmin ツールのノードエージェント関連タスクノードエージェントの作成
ノードエージェントを作成するには、ノードエージェントを実行するマシンで
asadmin
コマンドのcreate-node-agent
をローカルに実行します。次に例を示します。
$ asadmin create-node-agent --host myhost --port 4849 ---user admin nodeagent1
ここで、
myhost
はドメイン管理サーバー (DAS) ホスト名、4849
は DAS ポート番号、admin
は DAS ユーザー、およびnodeagent1
は、作成しているノードエージェントの名前です。ノードエージェントのデフォルト名は、ノードエージェントを作成するホストの名前です。
ノードエージェントのプレースホルダをすでに作成している場合、ノードエージェントプレースホルダと同じ名前を使用して、関連したノードエージェントを作成します。ノードエージェントのプレースホルダを作成しておらず、DAS が起動していて到達可能である場合、
create-node-agent
コマンドは DAS 上にノードエージェント設定 (プレースホルダ) も作成します。コマンド構文の詳しい説明については、コマンドに関するオンラインヘルプを参照してください。
ノードエージェントの起動
ノードエージェントがサーバーインスタンスを管理するには、ノードエージェントを実行する必要があります。ノードエージェントを起動するには、ノードエージェントが存在するシステムで
asadmin
コマンドのstart-node-agent
をローカルに実行します。次に例を示します。
$ asadmin start-node-agent --user admin nodeagent1
ここで、
admin
は管理ユーザー、nodeagent1
は起動しているノードエージェントです。コマンド構文の詳しい説明については、コマンドに関するオンラインヘルプを参照してください。
ノードエージェントの停止
ノードエージェントを停止するには、ノードエージェントが存在するシステムで
asadmin
コマンドのstop-node-agent
をローカルに実行します。stop-node-agent
は、ノードエージェントが管理するすべてのサーバーインスタンスを停止します。次に例を示します。
$ asadmin stop-node-agent nodeagent1
ここで、
nodeagent1
はノードエージェントです。コマンド構文の詳しい説明については、コマンドに関するオンラインヘルプを参照してください。
ノードエージェントの削除
ノードエージェントを削除するには、ノードエージェントが存在するシステムで
asadmin
コマンドのdelete-node-agent
をローカルに実行します。ノードエージェントを削除する前に、ノードエージェントを停止する必要があります。ノードエージェントが起動しない場合、またはドメイン管理サーバーに正常に接続できない (バインドされない) 場合も、ノードエージェントを削除できます。
次に例を示します。
$ asadmin delete-node-agent nodeagent1
ここで、
nodeagent1
はノードエージェントです。コマンド構文の詳しい説明については、コマンドに関するオンラインヘルプを参照してください。
ノードエージェントを削除する際には、管理コンソールまたは
asadmin delete-node-agent-config
コマンドのいずれかを使用して、ドメイン管理サーバーからノードエージェントの設定も削除する必要があります。