Sun JavaTM System Application Server の管理には、アプリケーションの配備、ドメイン、サーバーインスタンス、およびリソースの作成と設定、ドメインとサーバーインスタンスの制御 (起動と停止)、プロファイルとクラスタの管理、パフォーマンスの監視と管理、問題の診断とトラブルシューティングなどの多くの作業が含まれます。この章には次の節が含まれています。
Sun Java System Application Server は Java EE アプリケーションおよび Java Web サービスの開発と配備用の Java EE 互換サーバーを提供します。主な機能には、スケーラブルなトランザクション管理、コンテナ管理による持続性ランタイム、パフォーマンス Web サービス、クラスタリング、高可用性、セキュリティー、統合機能などがあります。ここでは、次の内容について説明します。
すべての管理ドメインは、そのドメインの機能を特定する使用法プロファイルに関連付けられます。Application Server には次のプロファイルが用意されています。
開発者: このプロファイルは、ドメインが開発環境で実行されており、開発中のアプリケーションに NSS キーストア機能やクラスタ化機能 (負荷分散やセッション持続など) が必要でない場合に使用します。
クラスタ: このプロファイルは、クラスタを作成する必要があるが、高可用性データベース (HADB) や NSS キーストアは必要としない場合に使用します。
エンタープライズ: このプロファイルは、HADB や NSS を必要とする場合に使用します。このプロファイルは、HADB および NSS を個別にインストールする場合、または Java Enterprise System (JES) の一部として Application Server をインストールする場合にのみ使用できます。Application Server 9.1 でエンタープライズプロファイルを使用する方法については、「エンタープライズプロファイルの使用」を参照してください。
Application Server 8.x Enterprise Edition からのアップグレードは、エンタープライズプロファイルでのみサポートされます。Application Server 8.x Platform Edition からアップグレードする場合は、開発者プロファイルを使用します。アップグレード処理の詳細については、『Sun Java System Application Server 9.1 Update 1 Upgrade and Migration Guide』の第 2 章「Upgrading an Application Server Installation」を参照してください。
ドメインは、事前に設定されたランタイムをユーザーアプリケーションに提供します。使用法プロファイルにより、インストールされた Application Server 自体の実行バイナリと、実行環境の設定を区別しやすくなります。つまり、プロファイルにより、Application Server の 1 つの実行バイナリを使用して、特定のニーズに合った異なるドメインを作成できます。たとえば、場合によっては最新の Java EE 仕様を理解するために Application Server を使用する開発者もいます。そのような開発者には、厳格なセキュリティー設定は必要ありません。一方、本稼動環境でアプリケーションを配備するユーザーには、当然ながらセキュリティー保護された環境が必要です。
表 1–1 に、各プロファイルで使用できる機能の一覧を示します。
表 1–1 各プロファイルで使用できる機能
機能 |
開発者プロファイル |
クラスタプロファイル |
エンタープライズプロファイル |
---|---|---|---|
セキュリティーストア |
JKS |
JKS |
NSS |
クラスタ化/スタンドアロンインスタンス |
使用不可 |
利用可能 |
利用可能 |
セキュリティーマネージャー |
無効 |
有効 |
有効 |
HADB |
使用不可 |
使用不可 |
利用可能 |
負荷分散 |
使用不可 |
利用可能 |
利用可能 |
ノードエージェント |
使用不可 |
利用可能 |
利用可能 |
エンタープライズプロファイルを使用するには、次のタスクを実行します。
NSS および HADB を個別にダウンロードしてインストールします。
asenv.conf ファイルを次のように変更します。
AS_HADB のポイント先を、HADB のインストールフォルダにします。
AS_NSS のポイント先を、NSS 共有オブジェクトが使用可能なフォルダにします。
AS_NSS_BIN のポイント先を、certutil などの NSS バイナリが格納されたフォルダにします。
start-domain コマンドを使用すると、Application Server 8.x または 9.0 のドメインを Application Server 9.1 にアップグレードできます。ドメインをアップグレードするには、次のいずれかの方法を使用します。
Application Server バイナリのインプレースアップグレードを実行する。
以前のバージョンの Application Server をポイントするドメインで start-domain を実行すると、asadmin によって asupgrade コマンドが呼び出され、自動的にドメインのインプレースアップグレードが実行されます。
Application Server バイナリのサイドバイサイドアップグレードを実行する。
以前のインストールのドメインで start-domain を実行します。asupgrade コマンドによって、ドメインは最新の Application Server インストールのドメインルートにアップグレードされます。このシナリオでは、アップグレードのターゲットディレクトリは、asenv.conf 内の AS_DEF_DOMAINS_PATH に定義されます。
Application Server は、Web パブリッシングからエンタープライズ規模のトランザクション処理までをサポートするプラットフォームです。Application Server を使用して、開発者は JavaServer Pages (JSPTM)、Java サーブレット、Enterprise JavaBeansTM (EJBTM) テクノロジをベースにしたアプリケーションを構築できます。
Application Server 9.1 のクラスタプロファイルとエンタープライズプロファイルは、高度なクラスタリング技術とフェイルオーバー技術を提供します。これらの機能により、スケーラブルで高い可用性を備えた Java EE アプリケーションを実行できます。
クラスタリング - クラスタは、1 つの論理エンティティーとして一体となって動作するアプリケーションサーバーインスタンスの集まりです。クラスタ内の各 Application Server インスタンスは同じように設定され、各インスタンスには同じアプリケーションが配備されています。
クラスタに Application Server インスタンスを追加することで水平方向への拡張が実現され、それによってシステムの処理能力が向上します。サービスを中断せずに、クラスタに Application Server インスタンスを追加することができます。HTTP、RMI/IIOP、および JMS のロードバランスにより、クラスタ内の正常な Application Server インスタンスに要求を分散させます。
高可用性 - 可用性を有効にすると、クラスタ内の Application Server インスタンスをフェイルオーバーによって保護できます。1 つのアプリケーションサーバーインスタンスが停止すると、利用できなくなったサーバーに割り当てられていたセッションは別の Application Server インスタンスに引き継がれます。セッションの情報は、高可用性データベース (HADB) に格納されます。HADB は、持続的な HTTP セッションとステートフルセッション Beans をサポートします。
ここでは、図 1–1 に示す Application Server のハイレベルアーキテクチャーについて説明します。
コンテナ - コンテナは、Java EE コンポーネントのセキュリティーやトランザクション管理などのサービスを提供する実行環境です。図 1–1 は、Web コンテナおよび EJB コンテナという、2 つのタイプの Java EE コンテナを示しています。JSP ページやサーブレットなどの Web コンポーネントは、Web コンテナ内で実行されます。EJB テクノロジのコンポーネントである Enterprise JavaBeans は、EJB コンテナ内で実行されます。
クライアントアクセス - 実行時に、ブラウザクライアントはインターネット上で使われているプロトコルである HTTP で Web サーバーと通信することにより Web アプリケーションにアクセスします。HTTPS プロトコルは、セキュア通信を必要とするアプリケーションのためにあります。Enterprise Bean クライアントは、IIOP または IIOP/SSL (セキュア) プロトコルを介して ORB (Object Request Broker) と通信します。Application Server には、HTTP、HTTPS、IIOP、および IIOP/SSL プロトコル用の別個のリスナーがあります。各リスナーは、固有のポート番号を排他的に使用しています。
Web サービス - Java EE プラットフォームでは、Java API for XML-Based RPC (JAX-RPC) によって実装された Web サービスを提供する Web アプリケーションを配備できます。Java EE アプリケーションやコンポーネントは、ほかの Web サービスのクライアントにすることもできます。アプリケーションは Java API for XML Registries (JAXR) を介して XML レジストリにアクセスします。
アプリケーションのサービス - Java EE プラットフォームは、コンテナがアプリケーションのサービスを提供するように設計されています。図 1–1 は、次のサービスを示しています。
トランザクション管理 - トランザクションは作業の分割不能な単位です。たとえば、銀行口座間での資金の振り替えがトランザクションにあたります。トランザクション管理サービスは、トランザクションが完全に終了するか、またはロールバックされるようにします。
Java EE プラットフォームでは、アプリケーションがアプリケーションサーバーの外部にあるシステムにアクセスできます。アプリケーションは、リソースと呼ばれるオブジェクトを介してこれらのシステムにアクセスします。管理者はリソース設定を行う必要があります。Java EE プラットフォームでは、次の API およびコンポーネントを介して外部システムにアクセスできます。
JDBC - データベース管理システム (DBMS) は、データの格納、編成、および検索機能を提供します。大部分のビジネスアプリケーションは、アプリケーションが JDBC API 経由でアクセスするリレーショナルデータベースにデータを格納します。データベース内の情報は、多くの場合、持続性があるとされています。これは、ディスク上に保存され、アプリケーションを終了したあとも存在するためです。Application Server バンドルには、Java DB データベースが含まれています。
メッセージング - メッセージングは、ソフトウェアコンポーネント間またはアプリケーション間の通信手段です。メッセージングクライアントは、ほかのどのクライアントともメッセージの送受信を行います。アプリケーションは Java Messaging Service (JMS) API を介してメッセージングプロバイダにアクセスします。Application Server には JMS プロバイダが組み込まれています。
コネクタ - Java EE コネクタアーキテクチャーでは、Java EE アプリケーションと既存のエンタープライズ情報システム (EIS) との統合が可能です。アプリケーションは、コネクタまたはリソースアダプタと呼ばれる移行可能な Java EE コンポーネントを介して EIS にアクセスします。
JavaMail - JavaMail API を介して、アプリケーションは電子メールを送受信するために SMTP サーバーに接続します。
サーバー管理 - 図 1-1 の右下に、Application Server の管理者によって実行されるタスクの一部が示されています。たとえば、管理者は、アプリケーションを配備 (インストール) し、サーバーのパフォーマンスを監視します。これらのタスクは Application Server が提供する管理ツールを使用して実行します。
Application Server では、次の管理ツールおよび API を使用できます。
管理コンソールは、ナビゲートしやすいインタフェースとオンラインヘルプを装備したブラウザベースのツールです。管理コンソール を使用するには、管理サーバー (ドメイン管理サーバーまたは DAS とも呼ばれる) が稼動している必要があります。管理コンソールを起動するには、管理サーバーのホスト名とポート番号がわかっていなければなりません。ポート番号については、Application Server のインストール時に選択したポート番号か、デフォルトポートの 4848 が使用されます。また、ユーザー名とマスターパスワードについても、インストール時に指定したものが必要です。
管理コンソールを起動するには、Web ブラウザで次のように入力します。
http://hostname:port |
次に例を示します。
http://kindness.sun.com:4848 |
管理コンソールを Application Server がインストールされたマシンで実行する場合は、ホスト名として localhost を指定します。
Windows 環境で管理コンソールを起動するには、「スタート」メニューから「管理コンソール」を起動します。
インストールプログラムにより、domain1 という名前のデフォルト管理ドメインがデフォルトポート番号 4848 で生成されます。また、ドメイン管理サーバー (DAS) とは分離したインスタンスも作成されます。インストール後は、管理ドメインを作成して追加できます。各ドメインには、一意のポート番号を持ったドメイン管理サーバーがそれぞれ必要です。管理コンソールの URL を指定する場合は、ドメインの管理ポート番号も指定する必要があります。
DAS とは異なるサーバー上で稼動するリモートサーバーインスタンスを管理する場合は、ノードエージェントを作成し、リモートサーバーインスタンスを容易に管理できるようにします。サーバーインスタンスの作成、起動、停止、および削除は、ノードエージェントの役割です。ノードエージェントを設定するには、コマンド行インタフェース (CLI) のコマンドを使用します。
asadmin ユーティリティーは Sun Java System Application Server のコマンド行インタフェースです。asadmin ユーティリティーと、このユーティリティーに関連するコマンドを使用して、管理コンソールで提供されている一連の同じ管理タスクを実行します。Solaris でのデフォルトのインストールルートディレクトリは /opt/SUNWappserver です。
asadmin ユーティリティーを起動するには、as-install/bin ディレクトリに移動し、次のように入力します。
$ ./asadmin |
asadmin 内で使用可能なコマンドをリスト表示するには、次のように入力します。
asadmin> help |
シェルのコマンドプロンプトで、asadmin コマンドを次のように実行することもできます。
$ asadmin help |
コマンドの構文と例を表示するには、help のあとにコマンド名を入力します。次に例を示します。
asadmin> help create-jdbc-resource |
指定したコマンドの asadmin help 情報が、UNIX のマニュアルページの形式で表示されます。これらのマニュアルページは、HTML 形式または PDF 形式の『Sun Java System Application Server 9.1 Reference Manual 』でも参照できます。
Java 2 Platform Standard Edition 5.0 では、Java 監視および管理コンソール (JConsole) が導入されました。JConsole は Sun Java System Application Server の監視に使用します。JConsole の「リモート」タブまたは「詳細」タブを使用して、Application Server に接続できます。
「リモート」タブ: ユーザー名、パスワード、管理サーバーホスト、および JMS ポート番号 (デフォルトで 8686) を指定し、「接続」を選択します。
「詳細」タブ: JMXServiceURL のサービス URL (jmx:rmi:///jndi/rmi://host:jms-port/jmxrmi) を指定し、「接続」を選択します。JMXServerURL は server.log ファイルに書き込まれるほか、ドメイン作成コマンドのコマンドウィンドウに出力されます。
Application Server Management Extension (AMX) は、すべての Application Server 設定を表示する API です。また、AMX は AMX インタフェースを実装する使いやすいクライアント側の動的なプロキシとして JMX 管理対象 Beans を監視しています。
Application Server Management Extension の使用の詳細については、『Sun Java System Application Server 9.1 Developer’s Guide』の第 20 章「Using the Application Server Management Extensions」を参照してください。
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 は管理サーバーまたはデフォルトサーバーと呼ばれることもあります。デフォルトサーバーと呼ばれる理由は、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 のクラスタリング、ロードバランス、セッションの持続性といった各機能の基本を構成するものです。
Sun Java System Application Server は、インストール時に server という名前のアプリケーションサーバーインスタンスを作成します。多くのユーザーは、1 つのアプリケーションサーバーインスタンスがあれば、要件は満たされるでしょう。ただし、環境によっては、1 つ以上の追加のアプリケーションサーバーインスタンスを作成する場合があります。たとえば、開発環境で、異なるアプリケーションサーバーインスタンスがあれば、異なる Application Server 設定でテストしたり、異なるアプリケーション配備を比較およびテストしたりすることができます。アプリケーションサーバーインスタンスは簡単に追加または削除できるため、これらを使用して、一時的にサンドボックス領域を作成して試用することができます。
さらに、各アプリケーションサーバーインスタンスに対して、仮想サーバーを作成することもできます。単一のインストールされているアプリケーションサーバーインスタンス内で、企業または個人のドメイン名、IP アドレス、いくつかの管理機能を提供できます。ユーザーにとっては、ハードウェアを持つことも、サーバーの基本的な保守を行うこともなく、自分の Web サーバーを所有しているのとほぼ同じです。このような仮想サーバーは、複数のアプリケーションサーバーインスタンスにまたがりません。仮想サーバーの詳細については、第 13 章「HTTP サービスの設定」を参照してください。
運用上において、複数のアプリケーションサーバーインスタンスの代わりに仮想サーバーをさまざまな用途に応じて使用できます。ただし、仮想サーバーがニーズを満たさない場合、複数のアプリケーションサーバーインスタンスを使用することも可能です。アプリケーションサーバーインスタンスを停止すると、そのアプリケーションサーバーインスタンスは新しい接続を受け付けなくなり、未完了の接続がすべて完了するまで待機します。マシンがクラッシュしたり、オフラインになったりすると、サーバーは終了し、処理中の要求が失われる可能性があります。
アプリケーションサーバーインスタンスは、アプリケーション実行環境の基本単位となります。各インスタンスは 1 つのドメインに属し、それぞれに固有のディレクトリ構造、設定、および配備されたアプリケーションが含まれます。各サーバーインスタンスには、Java EE プラットフォームの Web および EJB コンテナも含まれます。新しいサーバーインスタンスは、そのインスタンスが置かれるマシン上で稼動するノードエージェントと関連付ける必要があります。
開発者プロファイルを持つドメインでは Application Server インスタンスを作成できません。開発者プロファイルを持つドメインに含めることのできるインスタンスは、デフォルトで生成される server1 のみです。複数のインスタンスを作成するには、クラスタプロファイルでドメインを作成する必要があります。ドメインの作成については、create-domain コマンドのマニュアルページを参照するか、または管理コンソールのオンラインヘルプを参照してください。
サーバーインスタンスには次の 3 つのタイプがあります。
スタンドアロンサーバーインスタンスの場合、設定はほかのサーバーインスタンスやクラスタとは共有されません。
共有サーバーインスタンスの場合、設定はほかのインスタンスやクラスタと共有されます。
クラスタ化されたサーバーインスタンスの場合、設定はクラスタ内のほかのインスタンスと共有されます。
クラスタは、アプリケーション、リソース、および設定情報の同じセットを共有するサーバーインスタンスの集まりです。1 つのサーバーインスタンスは 1 つのクラスタにのみ属することが可能です。特に注目すべき点は、クラスタを使用すると、複数のマシン間で負荷が分散されることによってロードバランスが容易になり、インスタンスレベルのフェイルオーバーによって高可用性を実現できることです。
開発者プロファイルを持つドメインの場合、管理コンソールの「アプリケーションサーバー」パネル内の「一般」タブからは、次のタスクを実行できます。
「インスタンスを起動」をクリックして、インスタンスを起動します。
「インスタンスの停止」をクリックして、インスタンスを停止します。
「ログファイルを表示」をクリックして、サーバーのログビューアを開きます。
「ログをローテーション」をクリックして、インスタンスのログファイルをローテーションします。
この操作ではログファイルのローテーションは予約されるのみで、実際のローテーションは、次にログファイルにエントリが書き込まれたときに行われます。ローテーションは、デフォルトのサーバー (DAS) に対してはただちに実行されますが、ほかのスタンドアロンサーバーに対しては遅れます。
「JNDI ブラウズ」をクリックして、実行中のインスタンスの JNDI ツリーをブラウズします。
「トランザクションの回復」をクリックして、未完了のトランザクションを回復します。
さらに、次のタブを選択して、追加のタスクを実行できます。
「アプリケーション」タブ: 選択したアプリケーションを配備します。
「JVM 設定」タブ: Application Server で使用する JVM 一般設定を設定します。
「リソース」タブ: 選択したリソースを管理します。
「プロパティー」タブ: インスタンス固有のプロパティーを設定します。
「ログ」タブ: Application Server で使用するログレベルを設定します。
「監視」タブ: JVM、サーバー、スレッドプール、HTTP サービス、トランザクションサービスの監視データを表示します。
「詳細」タブ: 配備するアプリケーション用の一般プロパティーを設定します。
開発者プロファイルで管理コンソールを実行している場合は、「インスタンスを起動」オプション、「リソース」および「プロパティー」のタブを使用できません。
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 の「スタート」メニューで、「プログラム」>「Sun Microsystems」>「Application Server 9.1」>「デフォルトサーバーを起動」を選択します。
ドメインを停止すると、そのドメインの管理サーバーとアプリケーションサーバーインスタンスがシャットダウンします。ドメインを停止すると、そのサーバーインスタンスは新しい接続を受け付けなくなり、未完了の接続がすべて完了するまで待機します。サーバーインスタンスはシャットダウンプロセスを完了しなければならないため、これには数秒間かかります。ドメインの停止処理中は、管理コンソールおよびほとんどの asadmin コマンドが使用できません。
ドメインを停止するには、asadmin stop-domain コマンドを入力し、ドメイン名を指定します。たとえば、デフォルトのドメイン (domain1) を停止するには、次のように入力します。
$ asadmin stop-domain domain1 |
ドメインが 1 つだけの場合は、ドメイン名を省略できます。コマンドの完全な構文を確認するには、asadmin help stop-domain と入力してください。
管理コンソールからドメインを停止するには、管理コンソールのオンラインヘルプを参照してください。
「スタート」メニューで、「プログラム」>「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) の有効なコピーを提供するためには、次のものを用意する必要があります。
元の DAS を含むマシン 1 台 (machine1)
アプリケーションを実行してクライアントの要求を満たすサーバーインスタンスを持つクラスタを含む 2 台目のマシン (machine2)。クラスタは、1 台目のマシンの DAS を使用して設定されます。
1 台目のマシンがクラッシュした場合に DAS を再作成する必要がある 3 台目のバックアップマシン (machine3)
1 台目のマシンの DAS のバックアップを維持する必要があります。現在のドメインをバックアップするには、asadmin backup-domain を使用します。
ドメイン管理サーバーを 1 台目のマシン (machine1) から 3 台目のマシン (machine3) に移行するには、次の手順が必要です。
1 台目のマシンと同様に、Application Server を 3 台目のマシンにインストールします。
この処理は、DAS が 3 台目のマシンに正常に復元されて、パスの競合を発生させないために必要です。
コマンド行 (対話型) モードを使用して、Application Server 管理パッケージをインストールします。対話型コマンド行モードを有効にするには、次のように console オプションを使用してインストールプログラムを呼び出します。
./bundle-filename -console |
コマンド行インタフェースを使用してインストールを行うには、ルートのアクセス権が必要です。
オプションの選択を解除して、デフォルトのドメインをインストールします。
バックアップされたドメインの復元は、同じアーキテクチャーおよびまったく同じインストールパスを持つ 2 台のマシンでのみサポートされます (すなわち両方のマシンが同じ as-install と domain-root-dir を使用する)。
1 台目のマシンのバックアップ ZIP ファイルを、3 台目のマシンの domain-root-dir にコピーします。FTP でファイルを転送することもできます。
asadmin restore-domain コマンドを実行して、ZIP ファイルを 3 台目のマシンに復元します。
asadmin restore-domain --filename domain-root-dir/sjsas_backup_v00001.zip domain1 |
任意のドメインをバックアップできます。ただし、ドメインの再作成時には、ドメイン名を元のドメイン名と同一にする必要があります。
3 台目のマシンで domain-root-dir/domain1/generated/tmp ディレクトリのアクセス権を変更して、1 台目のマシンの同じディレクトリのアクセス権と一致させます。
このディレクトリのデフォルトのアクセス権は、?drwx------? (または 700) です。
次に例を示します。
chmod 700 domain-root-dir/domain1/generated/tmp
前述の例では、domain1 をバックアップすると仮定しています。ドメインを別の名前でバックアップする場合は、この domain1 をバックアップするドメインの名前に置き換えてください。
3 台目のマシンの domain.xml で、プロパティーのホスト値を変更します。
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/>...
変更前:
<jms-service... host=machine1.../>
変更後:
<jms-service... host=machine3.../>
machine3 で復元されたドメインを起動します。
asadmin start-domain --user admin-user --password admin-password domain1 |
machine2 のノードエージェントのプロパティーで、DAS ホストの値を変更します。
machine2 の as-install/nodeagents/nodeagent/agent/config/das.properties で、agent.das.host プロパティー値を変更します。
machine2 のノードエージェントを再起動します。
asadmin start-instance コマンドを使用してクラスタインスタンスを起動し、復元したドメインと同期させます。
Sun Java System Application Server の設定は domain.xml ファイルに保存されます。domain.xml は Application Server の設定の状態を表すドキュメントです。このドキュメントは特定の管理ドメインの中央リポジトリです。このドキュメントには、Application Server ドメインモデルの XML 表現が格納されます。domain.xml の内容は、ドメイン DTD の形式で表現された仕様によって管理されています。
ここでは、次の内容について説明します。
次の設定変更を実行した場合は、変更を有効にするためにサーバーを再起動する必要があります。
JVM オプションの変更
ポート番号の変更
HTTP、IIOP、および JMS サービスの管理
スレッドプールの管理
次の JDBC 接続プールプロパティーの変更
datasource-classname
JDBC ドライバベンダー固有のプロパティー
associate-with-thread
lazy-connection-association
lazy-connection-enlistment
次のコネクタ接続プールプロパティーの変更
resource-adapter-name
connection-definition-name
transaction-support
ベンダー固有のプロパティー
associate-with-thread
lazy-connection-association
lazy-connection-enlistment
サーバーの再起動の手順については、「ドメインの再起動」を参照してください。
その他の設定変更はサーバーを稼動させたままで動的に有効化されます。次の設定変更を行う場合は、サーバーを再起動させる必要はありません。
アプリケーションの配備と配備取り消し
JDBC、JMS、Connector のリソース、およびプールの追加または削除
ログレベルの変更
ファイルレルムユーザーの追加
監視レベルの変更
リソースとアプリケーションの有効化と無効化
asadmin reconfig コマンドは推奨されなくなり、不要になったことに注意してください。設定の変更は、サーバーに対して動的に適用されます。
次の表に、 Application Server のポートリスナーを示します。
表 1–2 ポートを使用する Application Server リスナー
リスナー |
デフォルトのポート番号 |
説明 |
---|---|---|
管理サーバー |
4848
|
ドメイン管理サーバーには、管理コンソールと asadmin ユーティリティーを使ってアクセスします。管理コンソールには、ブラウザの URL にポート番号を指定します。リモートから asadmin コマンドを実行する場合は、--port オプションを使用してポート番号を指定します。 |
HTTP |
8080 |
Web サーバーはポート上で HTTP 要求を待機します。配備された Web アプリケーションとサービスにアクセスするために、クライアントはこのポートに接続します。 |
HTTPS |
8181 |
セキュリティー保護された通信用に設定された Web アプリケーションは、個別のポートで待機します。 |
IIOP |
EJB コンポーネントであるエンタープライズ Beans のリモートクライアントは IIOP リスナー経由で Beans にアクセスします。 |
|
IIOP_SSL |
セキュリティー保護された通信用に設定された IIOP リスナーは、ほかのポートを使用します。 |
|
IIOP_MUTUALAUTH |
相互 (クライアントおよびサーバー) 認証用に設定された IIOP リスナーは、もう一方のポートを使用します。 |