Sun Java System Application Server 9.1 管理ガイド

Application Server のコマンドと概念

Application Server は、1 つまたは複数のドメインから構成されます。ドメインは管理上の境界であり、コンテキストです。各ドメインには管理サーバー (ドメイン管理サーバーまたは DAS とも呼ばれる) が関連付けられ、0 またはそれ以上のスタンドアロンインスタンスまたはクラスタ、あるいはその両方から構成されています。各クラスタには、1 つ以上の同機種サーバーインスタンスが含まれます。サーバーインスタンスは、単一の物理マシンで Application Server を実行する単一の Java 仮想マシン (JVM) です。ドメイン内のサーバーインスタンス (スタンドアロンでもクラスタ構成でも) は異なる物理ホストで実行できます。

ここでは、次の内容について説明します。

ドメイン

ドメインは同時に管理されるインスタンスのグループです。ただし、アプリケーションサーバーインスタンスは 1 つのドメインにのみ属することができます。管理上の境界線であることに加え、ドメインは基本的なセキュリティー構造を提供し、これによってさまざまな管理者がアプリケーションサーバーインスタンスの特定のグループ (ドメイン) を管理できます。サーバーインスタンスを個別のドメインにグループ化することにより、さまざまな組織や管理者が 1 つの Application Server インストールを共有できます。各ドメインには、固有の設定、ログファイル、およびアプリケーションの配備領域があり、これらはほかのドメインとは無関係です。1 つのドメインの設定が変更されても、ほかのドメインの設定は影響を受けません。

Sun Java System Application Server インストーラにより、デフォルトの管理ドメイン (domain1 という名前) が作成されます。さらに、関連するドメイン管理サーバー (server という名前) も作成されます。インストール時には管理サーバーポート番号を指定する必要があります。デフォルトの管理サーバーポートは 4848 です。インストーラは管理ユーザー名とマスターパスワードも入力するよう求めます。インストール後は、管理ドメインを作成して追加できます。

ドメイン管理サーバー (DAS)

各ドメインは、一意のポート番号を持ったドメイン管理サーバー (DAS) を持っています。管理コンソール は特定の DAS と通信し、関連するドメインを管理します。管理コンソール の各セッションにより、特定のドメインを設定し、管理できます。

ドメイン管理サーバー (DAS) は管理対象アプリケーションの制御専用に設計されたアプリケーションサーバーインスタンスです。DAS は管理者を認証し、管理ツールからの要求を受け付け、ドメイン内のサーバーインスタンスと通信して要求を実行します。DAS は管理サーバーまたはデフォルトサーバーと呼ばれることもあります。デフォルトサーバーと呼ばれる理由は、Sun Java System Application Server のインストール時に作成される唯一のサーバーインスタンスで、配備に使用できるからです。DAS は単に追加の管理機能を備えたサーバーインスタンスです。

管理コンソール の各セッションでは、単一のドメインを設定し、管理できます。複数のドメインを作成している場合は、追加の 管理コンソール セッションを起動して、ほかのドメインを管理する必要があります。管理コンソール の URL を指定する場合は、管理するドメインに関連付けられた DAS のポート番号を使用してください。

クラスタ

クラスタ は、一連の同じアプリケーション、リソース、および設定情報を共有するサーバーインスタンスの集まりに名前を付けたものです。1 つのサーバーインスタンスは 1 つのクラスタにのみ属することが可能です。クラスタを使用すると、複数のマシン間で負荷が分散されることによって、サーバーインスタンスのロードバランスが容易になります。また、インスタンスレベルのフェイルオーバーによって、高可用性を実現します。管理上の観点では、クラスタは仮想エンティティーを表し、クラスタへの操作 (アプリケーションの配備など) は、そのクラスタを構成するすべてのインスタンスに反映されます。

ノードエージェント

インスタンスのリモートライフサイクル管理を容易にするには、ドメインの各ノードに、軽量エージェント (JMX ランタイムのみで稼動できるなど) が必要です。この主な目的は、DAS の指示どおりに、サーバーインスタンスを起動、停止、作成することです。さらに、ノードエージェントはウォッチドッグとして機能し、障害の発生したプロセスを再起動します。DAS と同様に、ノードエージェントは特定の管理操作にのみ必要で、高可用性を期待するべきではありません。ただし、ノードエージェントは「常時稼働」コンポーネントであるため、ネィティブ O/S ノードブートストラップ (Solaris/Linux inetd または Windows サービスとしてなど) によって起動するように設定する必要があります。ノードエージェントは DAS には必要ありません。

サーバーインスタンス

サーバーインスタンスは、単一のノードの Application Server 上で稼動する単一の Java EE 互換 Java 仮想マシン (JVM) です。ドメインの各サーバーインスタンスは一意の名前を持ちます。クラスタ化されたサーバーインスタンスはクラスタのメンバーであり、親クラスタからすべてのアプリケーション、リソース、および設定を受け取るため、クラスタのすべてのインスタンスは均一になります。クラスタ化されていないサーバーインスタンスはクラスタに属さないため、アプリケーション、リソース、および設定で独立したセットを使用します。次の図は、アプリケーションサーバーインスタンスの詳細を示しています。アプリケーションサーバーインスタンスは、Application Server のクラスタリング、ロードバランス、セッションの持続性といった各機能の基本を構成するものです。

図 1–2 Application Server インスタンス

図は、サーバーインスタンスの機能と、サーバーインスタンスがさまざまなクライアント、データベース、およびその他のサーバーやシステムと通信する様子を示している。

Sun Java System Application Server は、インストール時に server という名前のアプリケーションサーバーインスタンスを作成します。多くのユーザーは、1 つのアプリケーションサーバーインスタンスがあれば、要件は満たされるでしょう。ただし、環境によっては、1 つ以上の追加のアプリケーションサーバーインスタンスを作成する場合があります。たとえば、開発環境で、異なるアプリケーションサーバーインスタンスがあれば、異なる Application Server 設定でテストしたり、異なるアプリケーション配備を比較およびテストしたりすることができます。アプリケーションサーバーインスタンスは簡単に追加または削除できるため、これらを使用して、一時的にサンドボックス領域を作成して試用することができます。

さらに、各アプリケーションサーバーインスタンスに対して、仮想サーバーを作成することもできます。単一のインストールされているアプリケーションサーバーインスタンス内で、企業または個人のドメイン名、IP アドレス、いくつかの管理機能を提供できます。ユーザーにとっては、ハードウェアを持つことも、サーバーの基本的な保守を行うこともなく、自分の Web サーバーを所有しているのとほぼ同じです。このような仮想サーバーは、複数のアプリケーションサーバーインスタンスにまたがりません。仮想サーバーの詳細については、第 13 章「HTTP サービスの設定」を参照してください。

運用上において、複数のアプリケーションサーバーインスタンスの代わりに仮想サーバーをさまざまな用途に応じて使用できます。ただし、仮想サーバーがニーズを満たさない場合、複数のアプリケーションサーバーインスタンスを使用することも可能です。アプリケーションサーバーインスタンスを停止すると、そのアプリケーションサーバーインスタンスは新しい接続を受け付けなくなり、未完了の接続がすべて完了するまで待機します。マシンがクラッシュしたり、オフラインになったりすると、サーバーは終了し、処理中の要求が失われる可能性があります。

Application Server インスタンスの定義

アプリケーションサーバーインスタンスは、アプリケーション実行環境の基本単位となります。各インスタンスは 1 つのドメインに属し、それぞれに固有のディレクトリ構造、設定、および配備されたアプリケーションが含まれます。各サーバーインスタンスには、Java EE プラットフォームの Web および EJB コンテナも含まれます。新しいサーバーインスタンスは、そのインスタンスが置かれるマシン上で稼動するノードエージェントと関連付ける必要があります。


注 –

開発者プロファイルを持つドメインでは Application Server インスタンスを作成できません。開発者プロファイルを持つドメインに含めることのできるインスタンスは、デフォルトで生成される server1 のみです。複数のインスタンスを作成するには、クラスタプロファイルでドメインを作成する必要があります。ドメインの作成については、create-domain コマンドのマニュアルページを参照するか、または管理コンソールのオンラインヘルプを参照してください。


サーバーインスタンスには次の 3 つのタイプがあります。

サーバーの一般情報

開発者プロファイルを持つドメインの場合、管理コンソールの「アプリケーションサーバー」パネル内の「一般」タブからは、次のタスクを実行できます。

さらに、次のタブを選択して、追加のタスクを実行できます。


注 –

開発者プロファイルで管理コンソールを実行している場合は、「インスタンスを起動」オプション、「リソース」および「プロパティー」のタブを使用できません。


Application Server のコマンド

Application Server の管理には、ドメイン、クラスタ、ノードエージェント、およびサーバーインスタンスの作成、設定、制御、管理などのタスクが含まれます。ここでは、次の内容について説明します。

ドメインの作成

ドメインは、create-domain コマンドを使用して作成します。次のコマンド例では、mydomain というドメインを作成します。管理サーバーが待機するポートは 5000 で、管理ユーザー名は admin です。このコマンドは、管理パスワードおよびマスターパスワードの入力を求めます。


$ asadmin create-domain --adminport 5000 –user admin mydomain

mydomain ドメインの管理コンソールをブラウザ内で起動するには、次の URL を入力します。


http://hostname:5000

Application Server 9.1 では、各ドメインはそれぞれがプロファイルを持ちます。プロファイルについては、「使用法プロファイル」を参照してください。ドメインのプロファイルは、作成時に選択することができます。また、「一般」タブの「クラスタサポートを追加」をクリックすると、開発者プロファイルからクラスタプロファイルに変更できます。ドメインのプロファイルを指定するには、create-domain コマンドで --profile オプションを使用します。--profile オプションを使用してプロファイルを明示的に指定しない場合、そのドメインにはデフォルトのプロファイルが関連付けられます。デフォルトのプロファイルは、asadminenv.conf ファイル内の AS_ADMIN_PROFILE で定義されます。


注意 – 注意 –

HADB および ネットワークセキュリティーサービス (NSS) キーストアがない場合は、エンタープライズドメインを作成しないでください。HADB および NSS がないと、エンタープライズドメインを起動できません。


前述の create-domain の例の場合、ドメインのログファイル、設定ファイル、および配備されたアプリケーションは次のディレクトリに置かれます。

domain-root-dir/mydomain

ドメインのディレクトリを別の位置に作成するには、--domaindir オプションを指定します。このコマンドの完全な構文を確認するには、asadmin help create-domain と入力してください。

ドメインの削除

ドメインは、asadmin delete-domain コマンドによって削除されます。ドメインを管理できる OS ユーザー (またはルート) だけが、このコマンドを正常に実行できます。たとえば、mydomain というドメインを削除するには、次のコマンドを入力します。


$ asadmin delete-domain mydomain

ドメインの一覧表示

マシン上に作成されているドメインを asadmin list-domains コマンドを使用して参照できます。デフォルトの domain-root-dir ディレクトリ内のドメインを一覧表示するには、次のコマンドを入力します。


$ asadmin list-domains

別のディレクトリに作成されているドメインを一覧表示するには、--domaindir オプションを指定します。

ドメインの起動

ドメインの起動時に、管理サーバーとアプリケーションサーバーインスタンスが起動されます。アプリケーションサーバーインスタンスは、一度起動すると常時稼動となり、要求を待機して受け付けます。各ドメインは、別々に起動する必要があります。

ドメインを起動するには、asadmin start-domain コマンドを入力し、ドメイン名を指定します。たとえば、デフォルトのドメイン (domain1) を起動するには、次のように入力します。


$ asadmin start-domain --user admin domain1

ドメインが 1 つだけの場合は、ドメイン名を省略できます。コマンドの完全な構文を確認するには、asadmin help start-domain と入力してください。パスワードオプションを省略した場合は、入力するように要求されます。

Windows でのデフォルトドメインの起動

Windows の「スタート」メニューで、「プログラム」>「Sun Microsystems」>「Application Server 9.1」>「デフォルトサーバーを起動」を選択します。

ドメインの停止

ドメインを停止すると、そのドメインの管理サーバーとアプリケーションサーバーインスタンスがシャットダウンします。ドメインを停止すると、そのサーバーインスタンスは新しい接続を受け付けなくなり、未完了の接続がすべて完了するまで待機します。サーバーインスタンスはシャットダウンプロセスを完了しなければならないため、これには数秒間かかります。ドメインの停止処理中は、管理コンソールおよびほとんどの asadmin コマンドが使用できません。

ドメインを停止するには、asadmin stop-domain コマンドを入力し、ドメイン名を指定します。たとえば、デフォルトのドメイン (domain1) を停止するには、次のように入力します。


$ asadmin stop-domain domain1

ドメインが 1 つだけの場合は、ドメイン名を省略できます。コマンドの完全な構文を確認するには、asadmin help stop-domain と入力してください。

管理コンソールからドメインを停止するには、管理コンソールのオンラインヘルプを参照してください。

Windows でのデフォルトドメインの停止

「スタート」メニューで、「プログラム」>「Sun Microsystems」>「Application Server 9.1」>「デフォルトサーバー停止」を選択します。

ドメインの再起動

サーバーの再起動の手順はドメインの再起動と同じです。ドメインまたはサーバーを再起動するには、ドメインをいったん停止してから起動します。

クラスタの作成

クラスタを作成するには create-cluster コマンドを使用します。次の例では、mycluster という名前のクラスタを作成します。管理サーバーホストは myhost、サーバーポートは 1234、管理ユーザー名は admin です。このコマンドは、管理パスワードの入力を求めます。


$ asadmin create-cluster --host myhost --port 1234 --user admin mycluster

コマンドの完全な構文を確認するには、asadmin help create-cluster と入力してください。

クラスタの起動

クラスタを起動するには start-cluster コマンドを使用します。次の例では mycluster という名前のクラスタを起動します。このコマンドは、管理パスワードの入力を求めます。


$ asadmin start-cluster --host myhost --port 1234 --user admin mycluster

コマンドの完全な構文を確認するには、asadmin help start-cluster と入力してください。

クラスタの停止

クラスタを停止するには stop-cluster コマンドを使用します。次の例では mycluster という名前のクラスタを停止します。このコマンドは、管理パスワードの入力を求めます。


$ asadmin stop-cluster --host myhost --port 1234 --user admin mycluster

myhost は管理サーバーホスト、1234 は管理ポート、admin は管理ユーザー名です。

コマンドの完全な構文を確認するには、asadmin help stop-cluster と入力してください。クラスタを停止すると、クラスタのすべてのサーバーインスタンスが停止します。インスタンスを含まないクラスタは停止できません。

ノードエージェントの作成

ノードエージェントを作成するには create-node-agent コマンドを使用します。次の例では mynodeagent という名前のノードエージェントを作成します。管理サーバーホストは myhost、管理サーバーポートは 1234、管理ユーザー名は admin です。このコマンドは、通常は管理パスワードの入力を求めます。ただし、--savemasterpassword オプションが指定されていないか、または false の場合、このコマンドはマスターパスワードの入力を求めません。


$ asadmin create-node-agent --host myhost --port 1234 --user admin mynodeagent

コマンドの完全な構文を確認するには、asadmin help create-node-agent と入力してください。

ノードエージェントの起動

ノードエージェントを起動するには start-node-agent コマンドを使用し、ノードエージェント名を指定します。たとえば、ノードエージェント mynodeagent を起動するには、次のように入力します。


$ asadmin start-node-agent --user admin mynodeagent

コマンドの完全な構文を確認するには、asadmin help start-node-agent と入力してください。

ノードエージェントの停止

ノードエージェントを停止するには stop-node-agent コマンドを使用し、ノードエージェント名を指定します。たとえば、ノードエージェント mynodeagent を停止するには、次のように入力します。


$ asadmin stop-node-agent mynodeagent

コマンドの完全な構文を確認するには、asadmin help stop-node-agent と入力してください。

インスタンスの起動

サーバーインスタンスを起動するには start-instance コマンドを使用します。次の例では、myinstance という名前のサーバーインスタンスを起動します。このコマンドは、管理パスワードの入力を求めます。


$ asadmin start-instance --host myhost --port 1234 --user admin  myinstance

管理サーバーホストは myhost、管理ポートは 1234、管理ユーザー名は admin です。サーバーインスタンス myinstance はクラスタ化することもスタンドアロンにすることもできます。

コマンドの完全な構文を確認するには、asadmin help start-instance と入力してください。

インスタンスの停止

サーバーインスタンスを停止するには stop-instance コマンドを使用します。次の例では、myinstance という名前のサーバーインスタンスを停止します。このコマンドは、管理パスワードの入力を求めます。


$ asadmin stop-instance --host myhost --port 1234 --user admin  myinstance

管理サーバーホストは myhost、管理ポートは 1234、管理ユーザー名は admin です。サーバーインスタンス myinstance はクラスタ化することもスタンドアロンにすることもできます。

コマンドの完全な構文を確認するには、asadmin help stop-instance と入力してください。

インスタンスの再起動

サーバーインスタンスを再起動するには、インスタンスを停止してから、再起動します。

ドメイン管理サーバーの再作成

ミラーリングを行うため、および、ドメイン管理サーバー (DAS) の有効なコピーを提供するためには、次のものを用意する必要があります。


注 –

1 台目のマシンの DAS のバックアップを維持する必要があります。現在のドメインをバックアップするには、asadmin backup-domain を使用します。


ProcedureDAS を移行する

ドメイン管理サーバーを 1 台目のマシン (machine1) から 3 台目のマシン (machine3) に移行するには、次の手順が必要です。

  1. 1 台目のマシンと同様に、Application Server を 3 台目のマシンにインストールします。

    この処理は、DAS が 3 台目のマシンに正常に復元されて、パスの競合を発生させないために必要です。

    1. コマンド行 (対話型) モードを使用して、Application Server 管理パッケージをインストールします。対話型コマンド行モードを有効にするには、次のように console オプションを使用してインストールプログラムを呼び出します。


      ./bundle-filename -console

      コマンド行インタフェースを使用してインストールを行うには、ルートのアクセス権が必要です。

    2. オプションの選択を解除して、デフォルトのドメインをインストールします。

      バックアップされたドメインの復元は、同じアーキテクチャーおよびまったく同じインストールパスを持つ 2 台のマシンでのみサポートされます (すなわち両方のマシンが同じ as-installdomain-root-dir を使用する)。

  2. 1 台目のマシンのバックアップ ZIP ファイルを、3 台目のマシンの domain-root-dir にコピーします。FTP でファイルを転送することもできます。

  3. asadmin restore-domain コマンドを実行して、ZIP ファイルを 3 台目のマシンに復元します。


    asadmin restore-domain --filename domain-root-dir/sjsas_backup_v00001.zip domain1

    任意のドメインをバックアップできます。ただし、ドメインの再作成時には、ドメイン名を元のドメイン名と同一にする必要があります。

  4. 3 台目のマシンで domain-root-dir/domain1/generated/tmp ディレクトリのアクセス権を変更して、1 台目のマシンの同じディレクトリのアクセス権と一致させます。

    このディレクトリのデフォルトのアクセス権は、?drwx------? (または 700) です。

    次に例を示します。

    chmod 700 domain-root-dir/domain1/generated/tmp

    前述の例では、domain1 をバックアップすると仮定しています。ドメインを別の名前でバックアップする場合は、この domain1 をバックアップするドメインの名前に置き換えてください。

  5. 3 台目のマシンの domain.xml で、プロパティーのホスト値を変更します。

  6. 3 台目のマシンの domain-root-dir/domain1/config/domain.xml を更新します。

    たとえば、machine1 を検索して、machine3 に置き換えるとします。その場合は、次のように変更します。

    <jmx-connector><property name=client-hostname value=machine1/>...

    変更後:

    <jmx-connector><property name=client-hostname value=machine3/>...
  7. 変更前:

    <jms-service... host=machine1.../>

    変更後:

    <jms-service... host=machine3.../>
  8. machine3 で復元されたドメインを起動します。


    asadmin start-domain --user admin-user --password admin-password domain1
  9. machine2 のノードエージェントのプロパティーで、DAS ホストの値を変更します。

  10. machine2 の as-install/nodeagents/nodeagent/agent/config/das.properties で、agent.das.host プロパティー値を変更します。

  11. machine2 のノードエージェントを再起動します。


    注 –

    asadmin start-instance コマンドを使用してクラスタインスタンスを起動し、復元したドメインと同期させます。