|
| |||||||||||||||||||||||||||||||||||||||||||||||||
Application Server 8.1 EE FAQ
| |||||||||||||||||||||||||||||||||||||||||||||||||
Sun Java System Application Server 8.1 を使用するにあたり、一般的に問い合わせの多い質問を FAQ としてまとめました。 ライセンスのご理解にお役立てください。 | |||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||
この FAQ は、Sun Java System Application Server 8.1 の運用、管理を行う技術者を対象としています。対象読者は、次のトピックに詳しいことを前提としています。
| |||||||||||||||||||||||||||||||||||||||||||||||||
本書では下記に記載するディレクトリ名を使用します。実際のデフォルトのパス名は右記に記載するディレクトリを示します。
| |||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||
A) iPlanet Application Server 6.5 では、Application Server の管理情報を Directory
Server に保存するため、インストールの際に Directory Server が必要でした。しかし、Application Server 7.0 以降のバージョンでは管理情報をファイルシステム上に記述するようになったため、インストール時に Directory Server を選択する必要はなくなりました。 | |||||||||||||||||||||||||||||||||||||||||||||||||
A) Application Server 8.1 では、セキュアなチャネル(SSLのような)を通じて受けたリクエストに対しては JSESSIONID cookie に secure 属性を付けて発行します。したがって、HTTPS の場合は JSESSIONID は "secure"cookie となります。Application Server の前に Web Server(Load Balancer
Plug-in) がある場合は、Web Server へ HTTP/HTTPS どちらでリクエストを送信しても、Load Balancer Plug-in と Application Server の間は HTTP 通信となるため JSESSIONID は "secure"
cookie にはなりません。HTTPS の場合に "secure" cookie
をブラウザに返すためには、loadbalancer.xml の生成を行う手順中、asadmin
create-http-lb-config のオプションとして --httpsrouting=true を与えて実行してください。または、loadbalancer.xml 中の https-routing 属性を直接
手書きで true に修正してください。 | |||||||||||||||||||||||||||||||||||||||||||||||||
A) Load Balancer Plug-in は Application Server へリクエストを送信できない場合、Load Balancer Plug-in 自身がブラウザに次のエラーページを返しますので、下記のファイルをカスタマイズしてください。
詳細は、http://docs.sun.comより | |||||||||||||||||||||||||||||||||||||||||||||||||
A) Application Server の管理コンソールより、リソース ≫ JDBC ≫ 接続プール ≫
「該当のコネクションプール名」を選択してください。次に「すべて障害で」≫「すべての接続を閉じる」にチェックを入れて再起動を行ってください。この設
定により 1 つの接続が失敗すると Application
Server はプール内のすべての接続を閉じ、再接続を行います。チェックを入れない場合、使用時にのみ個々に再接続されます。
| |||||||||||||||||||||||||||||||||||||||||||||||||
A) “resource-ref”は Web アプリケーションから、J2EE プラットフォーム (Application
Server) が提供するネーミングサービスの情報を取得できるように定義します。主にリソースへのアクセスを行うオブジェクト(データソース)
を取得するために使用します。 データソースの仕組みを利用することで、接続先などを Java ソースにハードコードせずに、 JNDI の名前を使って間接参照することができます。
下記では“resource-ref”に“jdbc/jdbc-simple”と指定した場合のコード記述例を示します。 ソース記述例:(JNDI ルックアップの記述例)
web.xml 記述例:
web.xml の要素の説明:
一方、sun-web.xml は Sun Java System Application Server 固有の配備記述子でサーバ固有の情報を指定します。 sun-web.xml 記述:
sun-web.xml の要素の説明:
| |||||||||||||||||||||||||||||||||||||||||||||||||
A) JDBC コネクションプール作成時の「データベースベンダー」は、次画面の入力項目「データソースクラス名」の入力を補助するために使用されます。管理コンソール
で、「データベースベンダー」と「リソースタイプ」を指定することにより、データベースベンダーに対応したクラスが次画面で自動的に入力されます。「デー
タベースベンダー」を指定しない場合は、「データソースクラス名」を手動で入力し設定しなければなりません。1
| |||||||||||||||||||||||||||||||||||||||||||||||||
A) JDBC コネクションプールの Minimum 個の接続は、インスタンス起動時ではなく、JDBC から初めて DB にリクエストが発生するタイミングで作成されます。
| |||||||||||||||||||||||||||||||||||||||||||||||||
A) クライアントの IP アドレスを変更した場合も、同一のセッションを利用できます。
| |||||||||||||||||||||||||||||||||||||||||||||||||
A) 既知の問題、解決済みのバグに関しては、製品のリリースノートに記載されています。詳細につきましては、リリースノートの下記項目を御参照ください。 「Sun Java System Application Server Enterprise Edition 8.1 2005Q2 Release Notes」
上記以外の公開情報として、SunSolve Onlineがあります。ユーザ登録を行った後御利用ください。 | |||||||||||||||||||||||||||||||||||||||||||||||||
A) 1 ホスト毎に 2 つの Application Server インスタンスを起動し (計 4 Application
Server インスタンスで 1 クラスタ)、HADB を 1 ホスト毎に 1(アクティブ)ノードずつで 1 データベースを共有する構成が可能です。
Application Server の管理コンソール等でクラスタを構成した後、asadmin
configure-ha-cluster を行うことで設定が可能です。特に複数の HADB データベースを作成する必要はありません。 | |||||||||||||||||||||||||||||||||||||||||||||||||
A) Web Server上のobj.confに下記の行を追加します。 NameTrans? fn=pfx2dir from=<静的コンテンツのURL> dir=<静的コンテンツのファイルシステム上のパス> 例:
| |||||||||||||||||||||||||||||||||||||||||||||||||
A) HADB のサイジングを行うための参考情報は「Sun Java System Application Server Enterprise Edition 8.1 2005Q2 Deployment Planning Guide」に記載されています。 詳細は、http://docs.sun.comより
| |||||||||||||||||||||||||||||||||||||||||||||||||
A) Application Server 8.1 のインストールに必要なファイルは、SVR4
package 形式で構成されているため、インストールは root で行う必要があります。 ただし、Application
Server のインスタンスを root 以外の特定のユーザで起動させたい場合、インストール終了後 asadmin コマンドを用いて、特定のユーザ ID を指
定しインスタンスを作成することで root 以外のユーザで起動が可能です。 詳細は、http://docs.sun.comより | |||||||||||||||||||||||||||||||||||||||||||||||||
A) Application Server 単体では特にありません。ただし、Application
Server と共に HADB をインストールする場合、HADB で下記の 3 種類のユーザ名が予約されています。そのため HADB をインストールする環境では、下記のユーザ名は使用しないでください。
例:configure-ha-cluster の実行
例:エラーログ
| |||||||||||||||||||||||||||||||||||||||||||||||||
A) インストールディレクトリをデフォルト以外に変更しても特に問題はありません。インストール先がデフォルト以外であっても問題なくパッチを適用できます。
| |||||||||||||||||||||||||||||||||||||||||||||||||
A) Java Enterprise
System のインストーラで「あとで設定」オプションを選択してインストールした場合、インストール後に、環境設定ファイル(<
appserver-install-dir>/config/asenv.conf)を正しく設定する等、必要な設定手順がいくつかあります。 詳細は、http://docs.sun.comより 「Application Server のインストール後の設定」を参照してください。 上記にも記述されていますが、事前に Application Server 8.1 のアクセサリ CD をご用意ください。アクセサリ CD は Sun Download Center から、Sun Java Enterprise System を入手する画面と同一画面上から入手可能です。 入手手順:
| |||||||||||||||||||||||||||||||||||||||||||||||||
A)
備考:
※特定のホストで作成した状態ファイルを異なるプラットフォーム(CPU 種別、OS 種別、OS バージョンのいずれかが異なる)で用いる場合は、インストールを行う前に状態ファイル内に記述されている状態ファイル ID を書き換える手順が必要になります。 状態ファイル ID とは生成された statefile の 10 行目および最終行に書き出される以下の文字列です。下記の例で 1.4 SDK より右側にある英数字の文字列を表します。
例えば、上記の 3cff82073ef0c5556f8a68a56fa9c65cb4192b45 は Ultra10(Solaris10) で生成された ID になります。 これを例えば他のマシンでそのまま再利用可能か確認するには、下記を実行します。
コマンドの実行結果、表示された文字列と比較して同一であればそのまま利用できます。文字列が異なっていた場合には、statefile の 10 行目および最終行の文字列をそれぞれ出力された文字列で入れ替えてください。
| |||||||||||||||||||||||||||||||||||||||||||||||||
A) Application Server 8.1 のインストール直後は Application Server
8.1 のデフォルト JDK である JDK 1.5.0 が使用されます。 この設定は
<appserver-install-dir>/config/asenv.conf の次の変数に記述されています。
JDK のバージョンを変更するには上記項目を変更してください。ただし、インストール時に作成されたドメインは、(その後、asenv.conf を修正して) J2SE1.4 で起動すると、UnsupportedClassVersionError が発生します。これは、ドメインの一部に、既に JDK1.5.0 でコンパイルされたクラスが存在するためです。従って、Application Server 8.1 でデフォルト以外の JDK のバージョンを使用する場合はドメインを作成する前に asenv.conf を次の例のように修正し、ドメインを再作成してください。1 例:
| |||||||||||||||||||||||||||||||||||||||||||||||||
A)次の方法により、それぞれ CLI で設定が可能です。
| |||||||||||||||||||||||||||||||||||||||||||||||||
A) セッションタイムアウトの値を CLI で変更する方法は下記のとおりです。
| |||||||||||||||||||||||||||||||||||||||||||||||||
A) 管理コンソールより HTTP サービスの設定画面でプロパティを追加してください。
管理コンソール ≫ 設定 ≫ 当該インスタンスの設定 ≫ HTTP サービス
| |||||||||||||||||||||||||||||||||||||||||||||||||
A) 「Sun Java System Application Server Enterprise Edition 8.1 2005Q2
管理ガイド」の「9.
セキュリティーの設定」を御参照ください。ドキュメントでは、管理者パスワード(管理コンソールの管理パスワード)とマスターパスワードの変更手順を、管
理コンソール、コマンドベースからと、それぞれでの変更手順が記載されています。 詳細は、http://docs.sun.comより 「Application Server のセキュリティーについて」を参照してください。
| |||||||||||||||||||||||||||||||||||||||||||||||||
A)
デフォルトの設定では、ディレクトリの URL を指定された場合、ディレクトリの中に含まれるファイルの一覧が表示されます。ディレクトリの中身を表示させ
たくない場合、下記の設定を行います。下記の設定はドメイン全体に適用されます。設定変更後、全てのインスタンスを再起動してください。 <domain-dir>/config/default-web.xmlの下記の箇所を修正してください。
| |||||||||||||||||||||||||||||||||||||||||||||||||
A) 「Sun Java System Application Server Enterprise Edition 8.1 2005Q2 Performance Tuning Guide」を参照してください。 詳細は、http://docs.sun.comより | |||||||||||||||||||||||||||||||||||||||||||||||||
A)
各アプリケーション内に更新された JSP ファイルが存在するかどうかを監視し、存在した場合に JSP ファイルをサーブレット実装クラスへ自動コンパイル
し、動的に再読み込みを行う機能です。監視のタイミングは、デフォルトではアクセス毎に行います。この機能は管理コンソール上からは設定できないので、
サーバインスタンス毎に default-web.xml を設定することによって無効化が可能です。具体的には要素名が jsp である
servlet 要素内の、init-param 値を次のように編集してください。
JSP Reloading が行われない条件は、下記の 2 つの条件を満たしていることです。
| |||||||||||||||||||||||||||||||||||||||||||||||||
A) この機能は、自動配備ディレクトリとして設定した場所に、アプリケーションを配置して自動的に配備を行います。デバッグ・開発用の機能で、server インスタンス(管理サーバ) 上でのみ利用可能です。
| |||||||||||||||||||||||||||||||||||||||||||||||||
A) この機能は、アプリケーションを再配備しなくても、配備ディレクトリにそのコードや配備記述子の変更をコピーするだけでそれらを再読込みする機能です。デバッグ・開発用の機能で、server (管理サーバ) 上でのみ利用可能です。
| |||||||||||||||||||||||||||||||||||||||||||||||||
A) サーバ設定がデフォルトの場合以下のログを出力します。
| |||||||||||||||||||||||||||||||||||||||||||||||||
A) ノードエージェントのログ、Application Server インスタンスのログファイル名の変更方法については下記を御参照ください。 詳細は、http://docs.sun.comより 「ログの一般設定を設定する」を参照してください。
ドメインの server.log については、管理コンソールから、「設定」≫「server-config」≫"Logger Settings" において変更可能です。 | |||||||||||||||||||||||||||||||||||||||||||||||||
A) 管理コンソールから、設定 (Configurations)
の当該インスタンスの config に何らかの変更を施した場合、その変更を有効にするためにインスタンスの再起動が必要になります。また、同様に
asadmin コマンドで設定変更した場合もインスタンスの再起動が必要になります。
| |||||||||||||||||||||||||||||||||||||||||||||||||
A) ノードエージェントを実行しなくても、Application Server インスタンスの作成と削除は可能です。ただし、サーバインスタンスの起動および停止にはノードエージェントが実行状態である必要があります。
| |||||||||||||||||||||||||||||||||||||||||||||||||
A) HADB を Application Server 8.1 のレポジトリのように root 以外のユーザを所有者として作成することは推奨されません。また、少なくとも Node Supervisor プロセスは root 権限で実行する必要があります。 詳細は、http://docs.sun.comより 「ノードスーパーバイザープロセスの権限」を参照してください。
一方、HADB Management Agent (ma) や HADB ノードが root で実行されていても、hadbm コマンドは root 以外のユーザで実行することができます。また、HADB データベースも root 以外のユーザで作成可能です。 | |||||||||||||||||||||||||||||||||||||||||||||||||
A) Application Server 8.1 では下記の項目を監視できます。
管理コンソールを用いた場合の設定方法 「管理コンソールを使用して監視レベルを設定する」を参照してください。
管理コンソールを用いた場合の確認方法 「管理コンソールで監視データを表示する」を参照してください。
asadmin コマンドを用いた場合の設定方法 「asadmin ツールを使用して監視を設定する」を参照してください。
asadmin コマンドを用いた場合の確認方法 「asadmin ツールによる監視データの表示」を参照してください。
例):JDBC コネクションプールのリソース状況の取得方法を下記に示します。1
すべての項目が必要なければ、項目を選んで取得することも可能です。
| |||||||||||||||||||||||||||||||||||||||||||||||||
A) 監視対象プロセスとしては下記の 3 プロセスを推奨します。
上記の各プロセスのプロセス ID 取得例:
|
BigAdmin SubscriptionsBigAdmin Areas
BigAdmin Sun Center
BigAdmin Topics |
||||||||||||||||||||||||||||||||||||||||||||||||