この章では Sun Java System Application Server の管理について説明します。Application Server の管理には、アプリケーションの配備、ドメイン、サーバーインスタンス、およびリソースの作成と設定、ドメインとサーバーインスタンスの制御 (起動と停止)、パフォーマンスの監視と管理、問題の診断とトラブルシューティングなどの多くの作業が含まれます。この章には次の節が含まれています。
Sun Java System Application Server は、サーバーサイド Java アプリケーションおよび Web サービスの開発と配信用の Java 2 Platform, Enterprise Edition (J2EE プラットフォーム) 1.4 互換プラットフォームを提供します。主な機能には、スケーラブルなトランザクション管理、コンテナ管理による持続性ランタイム、パフォーマンス Web サービス、クラスタリング、高可用性、セキュリティー、統合機能などがあります。
Application Server は次の Edition が提供されています。
Platform Edition は無償で配布され、ソフトウェア開発および部門レベルの本稼動環境を構築するために使用できます。
Enterprise Edition はミッションクリティカルサービスと大規模な本稼働環境向けに設計されています。これは、ロードバランサプラグインとクラスタ管理によって、水平方向のスケーラビリティーとサービスの連続性をサポートします。さらに、Enterprise Edition では高可用性データベース (HADB) による信頼性の高いセッション状態管理もサポートしています。
ここでは、次の内容について説明します。
Application Server は、Web パブリッシングから企業規模のトランザクション処理までをサポートするプラットフォームです。一方、開発者は JavaServer Pages (JSP)、Java サーブレット、Enterprise JavaBeans (EJB) テクノロジをベースにしたアプリケーションを構築できます。
Application Server Platform Edition は、開発、本稼働配備、および再配布を自由に行えます。再配布の詳細については、http://www.sun.com/software/products/appsrvr/appsrvr_oem.xml を参照してください。
Application Server Enterprise Edition は、高度なクラスタリング技術とフェイルオーバー技術を提供します。Application Server のインフラストラクチャーは、さまざまなタイプの分散アプリケーションの配備をサポートし、サービス指向アーキテクチャー (SOA) に基づいてアプリケーションを構築するために最適な基盤です。SOA はアプリケーションサービスを最大限に再利用することを目的とした設計方法論です。これらの機能により、スケーラブルで高い可用性を備えた J2EE アプリケーションを実行できます。
スケーラビリティー - スケーラビリティーは、クラスタリングによって実現します。クラスタは、1 つの論理エンティティーとして一体となって動作するアプリケーションサーバー インスタンスの集まりです。クラスタ内の各 Application Server インスタンスは同じように設定され、各インスタンスには同じアプリケーションが配備されています。
クラスタに Application Server インスタンスを追加することによってシステムの容量が増加し、水平的なスケーリングが実現されます。サービスを中断せずに、クラスタに Application Server インスタンスを追加することができます。HTTP、RMI/IIOP、および JMS ロードバランスシステムは、クラスタ内の正常な Application Server インスタンスに要求を分散させます。
高可用性 - 可用性 はフェイルオーバー機能を指します。1 台のサーバーインスタンスが停止すると、クラスタの別のサーバーインスタンスが、障害が発生したインスタンスのセッションを引き継ぎ、クライアントへのサービスをシームレスに続行します。セッションの情報は、高可用性データベース (HADB) に格納されます。HADB は、持続的な HTTP セッションとステートフルセッション Beans をサポートします。
ここでは、図 1–1 に示す Application Server のハイレベルアーキテクチャーについて説明します。
コンテナ - コンテナは、J2EE コンポーネントのセキュリティーやトランザクション管理などのサービスを提供する実行環境です。図 1–1 は、2 つのタイプの J2EE コンテナ、Web および EJB を示しています。JSP ページやサーブレットなどの Web コンポーネントは、Web コンテナ内で実行されます。Enterprise Java Beans は EJB コンテナ内で実行されます。
クライアントアクセス - 実行時に、ブラウザクライアントはインターネット上で使われているプロトコルである HTTP で Web サーバーと通信することにより Web アプリケーションにアクセスします。HTTPS プロトコルは、セキュア通信を必要とするアプリケーションのためにあります。Enterprise Java Bean クライアントは、IIOP または IIOP/SSL (セキュア) プロトコルを介して ORB (Object Request Broker) と通信します。Application Server には、HTTP、HTTPS、IIOP、および IIOP/SSL プロトコル用の別個のリスナーがあります。各リスナーは、固有のポート番号を排他的に使用しています。
Web サービス - J2EE プラットフォームでは、Java API for XML-Based RPC (JAX-RPC) によって実装された Web サービスを提供する Web アプリケーションを配備できます。J2EE アプリケーションやコンポーネントは、ほかの Web サービスのクライアントにすることもできます。アプリケーションは Java API for XML Registries (JAXR) を介して XML レジストリにアクセスします。
アプリケーションのサービス - J2EE プラットフォームは、コンテナがアプリケーションのサービスを提供するように設計されています。図 1–1 は、次のサービスを示しています。
トランザクション管理 - トランザクションは作業の分割不能な単位です。たとえば、銀行口座間での資金の振り替えがトランザクションにあたります。トランザクション管理サービスは、トランザクションが完全に終了するか、またはロールバックされるようにします。
J2EE プラットフォームでは、アプリケーションがアプリケーションサーバーの外部にあるシステムにアクセスできます。アプリケーションは、リソースと呼ばれるオブジェクトを介してこれらのシステムにアクセスします。管理者はリソース設定を行う必要があります。J2EE プラットフォームでは、次の API およびコンポーネントを介して外部システムにアクセスできます。
JDBC - データベース管理システム (DBMS) は、データの格納、編成、および検索機能を提供します。大部分のビジネスアプリケーションは、アプリケーションが JDBC API 経由でアクセスするリレーショナルデータベースにデータを格納します。データベース内の情報は、多くの場合、持続性があるとされています。これは、ディスク上に保存され、アプリケーションを終了した後も存在するためです。Application Server バンドルには、Java DB データベース管理システムが含まれています。
メッセージング - メッセージングは、ソフトウェアコンポーネント間またはアプリケーション間の通信メソッドです。メッセージングクライアントは、ほかのどのクライアントともメッセージの送受信を行います。アプリケーションは Java Messaging Service (JMS) API を介してメッセージングプロバイダにアクセスします。Application Server には JMS プロバイダが組み込まれています。
コネクタ - J2EE コネクタアーキテクチャーでは、J2EE アプリケーションと既存のエンタープライズ情報システム (EIS) との統合が可能です。アプリケーションは、コネクタまたはリソースアダプタと呼ばれる移行可能な J2EE コンポーネントを介して EIS にアクセスします。
JavaMail - JavaMail API を介して、アプリケーションは電子メールを送受信するために SMTP サーバーに接続します。
サーバー管理 - 図 1-1 の右下に、Application Server の管理インタフェースを示しています。管理ツールはこれらのインタフェースを使用して、Application Server と通信します。
Sun Java System Application Server の管理にはさまざまなツールと API を使用できます。
管理コンソールは、ナビゲートしやすいインタフェースとオンラインヘルプを装備したブラウザベースのツールです。管理コンソール を使用するには、管理サーバー (ドメイン管理サーバーまたは DAS とも呼ばれる) が稼動している必要があります。管理コンソールを起動するには、管理サーバーのホスト名とポート番号が必要です。デフォルトの管理サーバーのデフォルトの管理サーバーポート番号は 4849 です。さらに、管理コンソールにログインするには、管理ユーザー名とパスワードが必要です。詳細については、該当する節を参照してください。
管理コンソールを起動するには、Web ブラウザで次のように入力します。
https://hostname:port |
次に例を示します。
https://kindness.sun.com:4849 |
管理コンソール を管理サーバーが稼動しているマシンで実行する場合は、ホスト名として localhost を指定できます。
Windows で、「スタート」メニューから「Application Server 管理コンソール」を起動します。
asadmin ユーティリティーは Sun Java System Application Server のコマンド行インタフェースです。管理コンソール で提供されている一連の同じ管理タスクを実行できます。asadmin ユーティリティーは、シェルでコマンドプロンプトから起動するか、ほかのスクリプトやプログラムから呼び出すことができます。asadmin ユーティリティーは install-dir/bin ディレクトリにインストールされます。Solaris でのデフォルトの Sun Java System Application Server インストールのルートディレクトリは /opt/SUNWappserver です。
asadmin ユーティリティーを起動するには、install-dir/bin ディレクトリに移動し、次のように入力します。
$ asadmin |
asadmin 内で使用可能なコマンドを一覧表示するには、次のように入力します。
asadmin> help |
シェルのコマンドプロンプトで、asadmin コマンドを次のように実行することもできます。
$ asadmin help |
コマンドの構文と例を表示するには、help のあとにコマンド名を入力します。次に例を示します。
asadmin> help create-jdbc-resource |
指定したコマンドの asadmin help 情報が、コマンドの UNIX マニュアルページに表示されます。これらのマニュアルページは、Web の 『Sun Java System Application Server Enterprise Edition 8.2 Reference Manual』で HTML でも入手できます。
Java 2 Platform Standard Edition 5.0 では、Java 監視および管理コンソール (JConsole) が導入されました。JConsole は Sun Java System Application Server の監視に使用します。JConsole の「リモート」タブまたは「詳細」タブを使用して、Application Server に接続できます。
「リモート」タブ: ユーザー名、パスワード、管理サーバーホスト、および JMS ポート番号 (デフォルトで 8686) を識別し、「接続」を選択します。
「詳細」タブ: JMXServiceURL をサービス (jmx:rmi:///jndi/rmi://host:jms-port/jmxrmi) として識別し、「接続」を選択します。JMXServerURL は server.log ファイルに書き込まれるほか、ドメイン作成コマンドのコマンドウィンドウに出力されます。
Application Server Management Extension は、すべての Application Server 設定を表示する API であり、AMX インタフェースを実装する、使いやすいクライアント側の動的なプロキシとして JMX 管理対象 Beans を監視しています。
Application Server Management Extension の使用の詳細については、『Sun Java System Application Server Enterprise Edition 8.2 Developer’s Guide』の第 16 章「Using the Java Management Extensions (JMX) API」を参照してください。
Sun Java System Application Server は 1 つまたは複数のドメインから構成されます。ドメインは管理上の境界であり、コンテキストです。各ドメインには管理サーバー (ドメイン管理サーバーまたは DAS とも呼ばれる) が関連付けられ、0 またはそれ以上のスタンドアロンインスタンスまたはクラスタ、あるいはその両方から構成されています。各クラスタには、1 つ以上の同機種サーバーインスタンスが含まれます。サーバーインスタンスは、単一の物理マシンで Application Server を実行する単一の Java 仮想マシン (JVM) です。ドメイン内のサーバーインスタンス (スタンドアロンでもクラスタ構成でも) は異なる物理ホストで実行できます。
ここでは、次の内容について説明します。
ドメインは同時に管理されるインスタンスのグループです。ただし、アプリケーションサーバーインスタンスは 1 つのドメインにのみ属することができます。管理境界に加えて、ドメインは基本的なセキュリティー構造を提供し、これによってさまざまな管理者がアプリケーションサーバーインスタンスの特定のグループ (ドメイン) を管理できます。サーバーインスタンスを個別のドメインにグループ化することにより、さまざまな組織および管理者が 1 つの Application Server インストールを共有できます。各ドメインには、固有の設定、ログファイル、およびアプリケーションの配備領域があり、これらはほかのドメインとは無関係です。1 つのドメインの設定が変更されても、ほかのドメインの設定は影響を受けません。
Sun Java System Application Server インストーラにより、デフォルトの管理ドメイン (domain1 という名前) が作成されます。さらに、関連するドメイン管理サーバー (server という名前) も作成されます。管理サーバーポート番号を指定する必要があります。デフォルトの管理サーバーポートは 4849 です。インストーラは管理ユーザー名とパスワードも入力するよう求めます。インストール後は、管理ドメインを作成して追加できます。
各ドメインは、一意のポート番号を持ったドメイン管理サーバー (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 には必要ありません。
サーバーインスタンスは、単一のノードで J2EE 1.4 Application Server をホストする単一の J2EE 互換 Java 仮想マシン (JVM) です。ドメインの各サーバーインスタンスは一意の名前を持ちます。クラスタ化されたサーバーインスタンスはクラスタのメンバーであり、親クラスタからすべてのアプリケーション、リソース、および設定を受け取るため、クラスタのすべてのインスタンスは均一になります。クラスタ化されていないサーバーインスタンスはクラスタに属さないため、アプリケーション、リソース、および設定で独立したセットを使用します。
アプリケーションサーバーインスタンスは、アプリケーション配備の基礎を形成します。各インスタンスは 1 つのドメインに属します。DAS 以外のサーバーインスタンスには必ず、そのインスタンスが置かれるマシンを定義するノードエージェント名に対する参照が含まれる必要があります。
トポロジにリモートサーバーインスタンス (DAS 以外のサーバーインスタンス) が含まれる場合は、リモートサーバーインスタンスを管理し、補助するためのノードエージェントを作成します。サーバーインスタンスの作成、起動、停止、および削除は、ノードエージェントの役割です。ノードエージェントを設定するには、コマンド行インタフェースのコマンドを使用します。図 1–2 は、アプリケーションサーバーインスタンスの詳細を示しています。
Sun Java System Application Server は、インストール時に server という名前のアプリケーションサーバーインスタンスを作成します。多くのユーザーにとっては、1 つのアプリケーションサーバーインスタンスがあれば十分です。ただし、使用している環境によって追加のアプリケーションサーバーインスタンスを作成することが必要な場合があります。たとえば、開発環境内で異なるアプリケーションサーバーインスタンスを使用して、異なる Application Server 設定でテストしたり、異なるアプリケーション配備を比較およびテストできます。アプリケーションサーバーインスタンスは簡単に追加または削除できるため、これらを使用して、一時的にサンドボックス領域を作成して試用することができます。
さらに、各アプリケーションサーバーインスタンスに対して、仮想サーバーを作成することもできます。単一のインストールされているアプリケーションサーバーインスタンス内で企業または個人に対し、ドメイン名、IP アドレス、いくつかの管理機能を提供できます。ユーザーにとっては、ハードウェアを持つことも、サーバーの基本的な保守を行うこともなく、自分の Web サーバーを所有しているのとほぼ同じです。このような仮想サーバーは、複数のアプリケーションサーバーインスタンスにまたがりません。仮想サーバーの詳細については、第 12 章「HTTP サービスの設定」を参照してください。
実践配備においては、複数のアプリケーションサーバーインスタンスの代わりに仮想サーバーをさまざまな用途に応じて使用できます。ただし、仮想サーバーがニーズを満たさない場合、複数のアプリケーションサーバーインスタンスを使用することも可能です。アプリケーションサーバーインスタンスを停止すると、そのアプリケーションサーバーインスタンスは新しい接続を受け付けなくなり、未完了の接続がすべて完了するまで待機します。マシンがクラッシュしたり、オフラインになったりすると、サーバーは終了して、処理中だった要求が失われる可能性があります。
Application Server の管理には、ドメイン、クラスタ、ノードエージェント、およびサーバーインスタンスの作成、設定、制御、管理などのタスクが含まれます。ここでは、次の内容について説明します。
ドメインは、create-domain コマンドを使用して作成します。次のコマンド例では、mydomain というドメインを作成します。管理サーバーが待機するポートは 1234 で、管理ユーザー名は hanan です。このコマンドは、管理パスワードおよびマスターパスワードの入力を求めます。
$ asadmin create-domain --adminport 80 --adminuser hanan mydomain |
mydomain ドメインの管理コンソールをブラウザ内で起動するには、次の URL を入力します。
http://hostname:80 |
前述の 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」 - >「管理サーバーを起動」を選択します。
ドメインを停止すると、そのドメインの管理サーバーとアプリケーションサーバーインスタンスがシャットダウンします。ドメインを停止すると、そのサーバーインスタンスは新しい接続を受け付けなくなり、未完了の接続がすべて完了するまで待機します。サーバーインスタンスはシャットダウンプロセスを完了しなければならないため、これには数秒間かかります。ドメインの停止処理中は、管理コンソールおよびほとんどの asadmin コマンドが使用できません。
ドメインを停止するには、asadmin stop-domain コマンドを入力し、ドメイン名を指定します。たとえば、デフォルトのドメイン (domain1) を停止するには、次のように入力します。
$ asadmin stop-domain domain1 |
ドメインが 1 つだけの場合は、ドメイン名を省略します。コマンドの完全な構文を確認するには、asadmin help stop-domain と入力してください。
「スタート」メニューで、「プログラム」 - >「Sun Microsystems」 - >「Application Server」 - >「管理サーバーを停止」を選択します。
サーバーの再起動の手順はドメインの再起動と同じです。ドメインまたはサーバーを再起動するには、ドメインをいったん停止してから起動します。
クラスタを作成するには 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 |
myhost は管理サーバーホスト、1234 は管理ポート、admin は管理ユーザー名です。
コマンドの完全な構文を確認するには、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 です。このコマンドは、管理パスワードの入力を求めます。
$ 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 と入力してください。
サーバーインスタンスを作成するには create-instance コマンドを使用します。次の例では、myinstance という名前のインスタンスを作成します。管理サーバーホストは myhost、管理サーバーポートは 1234、管理ユーザー名は admin です。このコマンドは、管理パスワードの入力を求めます。
次の例では myinstance という名前のクラスタ化されたサーバーインスタンスを作成します。このコマンドは、管理パスワードの入力を求めます。
$ asadmin create-instance --host myhost --port 1234 --user admin --cluster mycluster --nodeagent mynodeagent myinstance |
myhost は管理サーバーホストで、管理ポートは 1234、管理ユーザー名は admin、このサーバーインスタンスが属するクラスタは mycluster、このサーバーインスタンスを管理するノードエージェントは mynodeagent です。
コマンドの完全な構文を確認するには、asadmin help create-instance と入力してください。
スタンドアロンサーバーインスタンスを作成する場合は、--cluster オプションを指定しません。
次の例では、mynodeagent という名前のノードエージェントで管理される myinstance という名前のスタンドアロンサーバーインスタンスを作成します。
$ asadmin create-instance --host myhost --port 1234 --user admin --nodeagent mynodeagent myinstance |
サーバーインスタンスを起動するには 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 台目のバックアップマシン (マシン 3)
1 台目のマシンの DAS のバックアップを維持する必要があります。asadmin backup-domain を使用して、現在のドメインをバックアップしてください。
ドメイン管理サーバーを 1 台目のマシン (machine1) から 3 台目のマシン (machine3) に移行するには、次の手順が必要です。
1 台目のマシンと同様に、Application Server を 3 台目のマシンにインストールします。
この処理は、DAS が 3 台目のマシンに正常に復元されて、パスの競合を発生させないために必要です。
コマンド行 (対話型) モードを使用して、Application Server 管理パッケージをインストールします。対話型のコマンド行モードを有効にするには、console オプションを次のように指定してインストールプログラムを起動します。
./bundle-filename -console |
コマンド行インタフェースを使用してインストールを行うには、ルートのアクセス権が必要です。
オプションの選択を解除して、デフォルトのドメインをインストールします。
バックアップされたドメインの復元は、同じアーキテクチャーおよびまったく同じインストールパスを持つ 2 台のマシンでのみサポートされます (すなわち両方のマシンが同じ install-dir と 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 の install-dir/nodeagents/nodeagent/agent/config/das.properties で、agent.das.host プロパティー値を変更します。
machine2 のノードエージェントを再起動します。
asadmin start-instance コマンドを使用してクラスタインスタンスを起動し、復元したドメインと同期させます。
管理パスワードをリセットするには、ドメイン内のすべてのノードエージェントを停止する必要があります。これにより、関連付けられたすべてのサーバーインスタンスが停止します。すべてのサーバーインスタンスとノードエージェントが停止し、ドメイン管理サーバー (DAS) のみが稼動しています。
ここで、次のように管理ユーザーのパスワードを変更できます。
コマンド行インタフェースを使用して管理パスワードを変更します。
asadmin update-file-user --authrealmname admin-realm ... --userpassword newpassword <admin-user-name>
管理コンソールを使用して管理パスワードを変更します。
管理サーバーの「設定」ノード >「セキュリティー」>「レルム」>「admin-realm」>「ユーザーを管理」とたどり、ユーザー ID を選択し、「ファイルレルムユーザーの編集」でパスワードを変更します。
管理パスワードの変更に成功したことを示すメッセージが表示されます。
新しいパスワードでドメイン管理サーバ (DAS) を再起動するには、次の手順に従います。
コマンド行インタフェースの使用。asadmin start-domain --user admin --password newpassword domain1
次のような設定が考えられます。2 つのノードエージェント (i1na、c1-na) と 3 つのインスタンス (c1 という名前の同じクラスタに属する c1i1 と c1i2 、およびスタンドアロンサーバーインスタンス i1) があるドメイン。
新しいパスワードでインスタンスを起動しないでノードエージェントを再起動します。
次に例を示します。
asadmin start-node-agent --user admin --password newpassword --startinstances=false i1-na asadmin
asadmin start-node-agent --user admin --password newpassword --startinstances=false c1-na
サーバーとクラスタを再起動します。
asadmin start-node-agent --user admin --password newpassword ... c1
asadmin start-node-agent --user admin --password newpassword i1
Sun Java System Application Server の設定は domain.xml ファイルに保存されます。domain.xml は Application Server の設定の状態を表すドキュメントです。このドキュメントは特定の管理ドメインの中央リポジトリです。このドキュメントには、Application Server ドメインモデルの XML 表現が格納されます。domain.xml の内容は、ドメイン DTD の形式で表現された仕様によって管理されています。
ここでは、次の内容について説明します。
次の設定変更を実行した場合は、変更を有効にするためにサーバーを再起動する必要があります。
JVM オプションの変更
ポート番号の変更
HTTP、IIOP、および JMS サービスの管理
スレッドプールの管理
手順については、「ドメインの再起動」を参照してください。
動的設定が有効のときに次の設定変更を行う場合は、その設定変更を有効にするためにサーバーを再起動する必要はありません。
アプリケーションの配備と配備取り消し
JDBC、JMS、Connector のリソース、およびプールの追加または削除
ログレベルの変更
ファイルレルムユーザーの追加
監視レベルの変更
リソースとアプリケーションの有効化と無効化
asadmin reconfig コマンドは推奨されなくなり、不要になったことに注意してください。設定の変更は、サーバーに対して動的に適用されます。
次の表に、Application Server のポートリスナーを示します。
表 1–1 ポートを使用する Application Server リスナー
リスナー |
デフォルトのポート番号 |
説明 |
---|---|---|
管理サーバー |
4849 |
ドメインの管理サーバーには、管理コンソール と asadmin ユーティリティーを使ってアクセスします。管理コンソールの場合は、ブラウザの URL にポート番号を指定します。リモートから asadmin コマンドを実行する場合は、--port オプションを使用してポート番号を指定します。 |
HTTP |
8080 |
Web サーバーはポート上で HTTP 要求を待機します。配備された Web アプリケーションとサービスにアクセスするために、クライアントはこのポートに接続します。 |
HTTPS |
8181 |
セキュア通信用に設定された Web アプリケーションは、個別のポートで待機します。 |
IIOP (Internet Inter-ORB Protocol) |
3700 |
EJB コンポーネントである Enterprise JavaBeans のリモートクライアントは IIOP リスナー経由で Beans にアクセスします。 |
IIOP、SSL |
3820/3890 |
セキュア通信用に設定された IIOP リスナーは、ほかのポートを使用します。 |
IIOP、SSL、および相互認証 |
相互 (クライアントおよびサーバー) 認証用に設定された IIOP リスナーは、もう一方のポートを使用します。 |
|
JMX |
8686 |
JMX コネクタは DAS との通信にほかのポートを使用します。 |
Application Server は Java 2 Standard Edition (J2SE) ソフトウェアに依存します。Application Server をインストールすると、J2SE ソフトウェアのディレクトリが指定されます。J2SE ソフトウェアの変更の手順については、第 17 章「Java 仮想マシンと詳細設定」を参照してください。