この章では、Sun Cluster HA for Apache Tomcat のインストールと構成の方法について説明します。
この章の内容は次のとおりです。
表 1 に、Sun Cluster HA for Apache Tomcat のインストールと構成に必要な作業を示します。指定された順番どおりに、各作業を行なってください。
表 1 Task Map: Sun Cluster HA for Apache Tomcat のインストールと構成
作業 |
参照先 |
---|---|
1 インストールについて計画します。 | |
2 Apache Tomcat をインストールして構成します。 | |
3 インストールと構成を確認します。 | |
4 Sun Cluster HA for Apache Tomcat パッケージをインストールします。 | |
5.1 フェイルオーバーデータサービスとして Sun Cluster HA for Apache Tomcat を登録して構成します。 |
「Sun Cluster HA for Apache Tomcat をフェイルオーバーデータサービスとして登録して構成する方法」 |
5.2 Sun Cluster HA for Apache Tomcat をマルチマスターデータサービスとして登録し、構成します。 |
「Sun Cluster HA for Apache Tomcat をマルチマスターデータサービスとして登録して構成する」 |
5.3 Sun Cluster HA for Apache Tomcat をスケーラブルデータサービスとして登録し、構成します。 |
「Sun Cluster HA for Apache Tomcat をスケーラブルデータサービスとして登録して構成する」 |
6 Sun Cluster HA for Apache Tomcat のインストールと構成を確認します。 | |
7 Sun Cluster Apache Tomcat HA パラメータファイルの概要を把握します。 | |
8 Sun Cluster HA for Apache Tomcat 障害モニターの概要を把握します。 | |
9 Sun Cluster HA for Apache Tomcat のデバッグ方法を理解します。 |
Apache Tomcat は、Apache Web サーバーの背後でサーブレットエンジンとして動作します。または、サーブレットエンジンが組み込まれたスタンドアロンの Web サーバーとして構成できます。
Apache Tomcat は Apache Software License のもとで無料配布されており、http://jakarta.apache.org からダウンロードできます。
Sun Cluster HA for Apache Tomcat データサービスは、順序正しい起動と停止、障害モニター、Apache Tomcat サービス自動フェイルオーバーのためのメカニズムを提供します。
次の表に、アプリケーションコンポーネントと関連する Sun Cluster データサービスの関係を示します。
表 2 コンポーネントの保護
構成要素 |
コンポーネントを保護するデータサービス |
---|---|
Apache Tomcat |
Sun Cluster HA for Apache Tomcat |
この節では、Sun Cluster HA for Apache Tomcat のインストールと構成の計画に必要な情報を示します。
Sun Cluster には、データサービスの水平型スケーラビリティーという概念があり、これをスケーラブルサービスといいます。この概念には、IP ベースの負荷均衡アルゴリズムが統合されています。このため、ハードウェアのロードバランサーを使用しなくても水平方向のスケーラビリティーが得られます。このスケーラブルサービスの詳細は、『Sun Cluster の概念 (Solaris OS 版)』を参照してください。
スケーラブル構成で Sun Cluster HA for Apache Tomcat を使用する前に、クラスタとクライアントのインフラストラクチャーを注意深く検討する必要があります。
クライアントがプロキシを使用してアプリケーションに使用する場合は、セッションコンテキストの間、使用されるプロキシが同じかどうかを判別します。これはイントラネットにも当てはまります。
セッションコンテキストの間にプロキシが変更される場合、負荷均衡の観点から言うと、発信元 IP アドレスが変化することを意味します。この場合、ハードウェアであろうとソフトウェアであろうと、IP ベースのあらゆる負荷均衡機能が悪影響を受けます。
特に、クライアントがインターネットを介してサーバーにアクセスする場合、セッションコンテキストにおいて同一のソース IP アドレスが維持されることは保証されません。
Sun Cluster HA for Apache Tomcat には、水平方向のスケーラビリティーを得る手段として 2 つの構成方法が用意されています。
2 つの構成の相違は、ノードのアクセス方法にあります。
クライアントが共有アドレスを使用してスケーラブル構成にアクセスする場合、Sun Cluster が負荷均衡機能を実行します。
クライアントが各ノードの物理アドレスを使用してマルチマスター構成にアクセスする場合、クラスタの外部で負荷均衡機能を実行する必要があります。
スケーラブルデータサービスの詳細は、『Sun Cluster の概念 (Solaris OS 版)』を参照してください。
これらの構成オプションについては、「スケーラブル構成としての Sun Cluster HA for Apache Tomcat」と「マルチマスター構成としての Sun Cluster HA for Apache Tomcat」で説明しています。
セッションコンテキストの間、発信元 IP アドレスが変わらないことが保証される場合は、スケーラブル構成で Sun Cluster HA for Apache Tomcat を使用できます。この保証は、たとえばイントラネットで実現されます。
セッションコンテキストの間に発信元 IP アドレスが変わる可能性があり、スケーラブル構成が必要な場合は、セッションの複製を指定して Apache Tomcat を構成する必要があります。このような構成は、広域ファイルシステムまたはデータベースを使用したアプリケーションによって行えます。
この方法では、パフォーマンスの低下が発生します。
発信元 IP アドレスが変化する状況でのスケーラブル構成には、Tomcat のインバウンドメモリーセッション複製機能を使用すると、パフォーマンスが向上します。
Apache Tomcat 4.x のセッション複製は、http://www.theserverside.com/resources/article.jsp?l=Tomcatの説明に従って行えます。
Apache Tomcat 5.x の、組み込み機能としてのインバウンドメモリーセッション複製は、機能リストにあります。
Apache Tomcat 3.x の場合、インバウンドメモリーセッション複製は設定できません。
上記以外の状況では、Sun Cluster HA for Apache Tomcat をマルチマスター構成で使用できます。外部の負荷均衡機能が必要です。通常の構成では、スケーラブル Apache Web サーバーをロードバランサーとして使用し、Apache Web サーバーの各インスタンスの背後に、Apache Tomcat インスタンスの物理ホスト名を 1 つ構成します。また、セッションコンテキストを処理するハードウェアロードバランサを使用することもできます。
スケーラブル構成とマルチマスター構成の違いは、クライアントがクラスタノードにアクセスする方法だけです。スケーラブル構成では、クライアントは共有アドレスにアクセスします。マルチマスター構成では、クライアントは物理ホスト名にアクセスします。
この節では、Sun Cluster HA for Apache Tomcat だけに適用されるソフトウェアとハードウェア上の構成制限の一覧を示します。
すべてのデータサービスに該当する制限については、『Sun Cluster データサービスの計画と管理 (Solaris OS 版)』を参照してください。
Sun Cluster HA for Apache Tomcat によるスケーラブル構成は、セッション複製または信頼性のあるソース IP アドレスを達成できる場合だけ採用してください。これ以外の状況でこの構成を採用すると、アプリケーションの動作に予期しない結果が生じることがあります。
セッション複製がまったく使用されない場合に、信頼できるソース IP アドレスを使用するスケーラブル構成で Sun Cluster HA for Apache Tomcat を導入する場合は、リソースパラメータ Load_balancing_policy を LB_STICKY に必ず設定する必要があります。設定しないと、アプリケーションの動作が予測不能になります。それ以外のスケーラブル構成では、Sticky Load_balancing_policy はキャッシュのヒット率向上に有効です。
これらの制限事項を守らないと、データサービスの構成がサポートされない場合があります。
これらの要件が適用されるのは、Sun Cluster HA for Apache Tomcat だけです。Sun Cluster HA for Apache Tomcat のインストールと構成を進めるには、あらかじめ次の要件を満たす必要があります。
次の要件を満たさないと、データサービスの構成がサポートされない場合があります。
Apache Tomcat をスケーラブルリソースグループにインストールする場合は、Tomcat Home ディレクトリとその動的なデータをローカル記憶装置上に作成してください。
これが必要なのは、Apache Tomcat がディレクトリ構造を使用して構成、ログ、配備されたアプリケーションなどを保存するためです。
ローカルストレージの容量が不十分な場合は、共有ストレージ上の広域ファイルシステムを使用できます。
この場合、Tomcat アプリケーションの配備は Apache Tomcat をホスティングするノードごとに行う必要があります。
Apache Tomcat をマルチマスター構成としてインストールする場合は、外部的なロードバランサーが必要です。
Apache Tomcat をフェイルオーバーリソースグループにインストールする場合は、Tomcat Home ディレクトリを共有記憶装置上に作成してください。Tomcat Home ディレクトリは、HAStoragePlus リソースと共に広域ファイルシステム (GFS) に置くことも、フェイルオーバーファイルシステム (FFS) に置くこともできます。望ましいのは FFS 上への配置です。
これが必要なのは、Apache Tomcat がディレクトリ構造を使用して、構成、ログ、配備されたアプリケーションなどを保存するためです。バイナリをローカルで保存し、データの動的部分を共有ストレージに保存することはお勧めできません。
広域ファイルシステムをマウントする場合は /global という接頭辞を指定し、フェイルオーバーファイルシステムをマウントする場合は /local という接頭辞を指定するのが最適です。
Sun Cluster HA for Apache Tomcat データサービスは、1 つ以上の Apache Tomcat インスタンスを保護するように構成できます。各インスタンスは、1 つの Apache Tomcat リソースによって対応される必要があります。Apache Tomcat リソースとほかの必須リソース間の依存性を、表 3、表 4、表 5 に示します。
表 3 フェイルオーバー構成時の依存性
構成要素 |
説明 |
---|---|
記憶装置リソース |
このリソースは、SUNW.HAStoragePlus または SUNW.HAStorage リソースタイプのどちらかです。 |
Apache Tomcat (必須) |
-> SUNW.HAStoragePlus リソースまたは SUNW.HAStorage リソース 記憶装置リソースには、Apache Tomcat ファイルシステムのマウントポイントを管理し、マウントされるまで Apache Tomcat が起動しないようにする役割があります。 |
論理ホスト (必須) |
Apache Tomcat は一般的なデータサービスをベースとしているため、このコンポーネントはリソースグループの論理ホストに暗黙に依存します。したがって、論理ホストが存在する必要がありますが、明示的な依存は不要です。 |
各 Apache Tomcat とそのパラメータファイル pfile がルートファイルシステムに保存されているかぎり、スケーラブル構成の特殊な要件のために記憶装置またはアドレスに依存する必要はありません。この条件が満たされない場合は、表 4 の内容に従ってください。
表 4 スケーラブル構成時の依存性
構成要素 |
説明 |
---|---|
記憶装置リソース |
このリソースは、SUNW.HAStorage または SUNW.HAStoragePlus リソースタイプのどちらかです。 |
Apache Tomcat (必須) |
-> 記憶装置リソース 記憶装置リソースには、Apache Tomcat ファイルシステムのマウントポイントを管理し、マウントされるまで Apache Tomcat が起動しないようにする役割があります。 |
共有アドレス (必須) |
共有アドレスリソースは、スケーラブルリソースグループが依存する個別のリソースグループ内に置かれます。 |
マルチマスター構成は、スケーラブル構成のような複数のノードで稼働しますが、共有アドレスは使用しません。各 Apache Tomcat とそのパラメータファイル pfile がルートファイルシステムに保存されているかぎり、マルチマスター構成の特殊な要件のために記憶装置またはアドレスに依存する必要はありません。この条件が満たされない場合は、表 5 の内容に従ってください。
表 5 マルチマスター構成時の依存性
構成要素 |
説明 |
---|---|
記憶装置リソース |
このリソースは、SUNW.HAStorage または SUNW.HAStoragePlus リソースタイプのどちらかです。 |
Apache Tomcat (必須) |
-> 記憶装置リソース 記憶装置リソースには、Apache Tomcat ファイルシステムのマウントポイントを管理し、マウントされるまで Apache Tomcat が起動しないようにする役割があります。 |
共有アドレス (必須) |
共有アドレスリソースは、スケーラブルリソースグループが依存する個別のリソースグループ内に置かれます。 |
Apache Tomcat の詳細は、Web ページ http://jakarta.apache.org を参照してください。
Apache Tomcat コンポーネントの構成ファイルと登録ファイルは、ディレクトリ /opt/SUNWsctomcat/util に置かれています。これらのファイルによって、Sun Cluster に Apache Tomcat コンポーネントを登録できます。
これらのファイル内では、該当する依存関係がすでに適用されています。
# cd /opt/SUNWsctomcat # # ls -l util total 4 -rwx--x--- 1 root other 709 Apr 29 11:57 sctomcat_config -rwx--x--- 1 root other 561 Apr 29 11:58 sctomcat_register # more util/*g :::::::::::::: util/sctomcat_config :::::::::::::: # # Copyright 2003 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # # This file will be sourced in by sctomcat_register and the parameters # listed below will be used. # # These parameters can be customized in (key=value) form # # RS - name of the resource for the application # RG - name of the resource group containing RS # PORT - name of the port number # LH - name of the LogicalHostname SC resource # SCALABLE - true or false for a scalable or failover resource # NETWORK - false or true, false for multiple master configurations without # shared address, in this case SCALABLE will be ignored # # PFILE - absolute pathname to the parameter file for the Tomcat resource # HAS_RS - name of the HAStoragePlus SC resource # (it can be a , separated list for the dependencies) # (日本語) # このファイルは、sctomcat_register によってソースに取り込まれます。 # パラメータは以下のものが使用されます。 # # これらのパラメータは、(key=value) の形式を使用してカスタマイズできます。 # # RS - アプリケーションのリソースの名前 # RG - RS を含むリソースグループの名前 # PORT - ポート番号の名前 # LH - LogicalHostname SC リソースの名前 # SCALABLE - スケーラブルリソースかフェイルオーバーリソースかを true または false で指定 # NETWORK - 共有するアドレスを持たないマルチマスター構成の場合は false を指定。 # その場合、SCALABLE は無視される # # PFILE - Tomcat リソースのパラメータファイルの絶対パス名 # HAS_RS - HAStoragePlus SC リソースの名前 # (依存関係にもとづいて個別のリストにもできる) RS= RG= PORT=8080 LH= SCALABLE=false NETWORK=true PFILE= HAS_RS= |
この節では、Apache Tomcat のインストールと構成に必要な手順について説明します。
Apache Tomcat の詳細は、Web ページ http://jakarta.apache.org を参照してください。
Sun Cluster での Apache Tomcat の配備方法を決定します。
Apache Tomcat をフェイルオーバーデータサービス、マルチマスターデータサービス、スケーラブルデータサービスのいずれとして使用するかを決定します。
スケーラブルデータサービスとフェイルオーバーデータサービスの概念については、『Sun Cluster の概念 (Solaris OS 版)』を参照してください。
Apache Tomcat を実行するユーザー名を決定します。
配備する Apache Tomcat のバージョンとインスタンスの数を決定します。
同一バージョンで複数のインスタンスを配備する場合は、バイナリを共有させるかどうかを決定します。
各 Apache Tomcat インスタンスに使用させるクラスタファイルシステムを決定します。
Apache Tomcat Cluster ファイルシステムのマウント
この場合、Tomcat アプリケーションの配備は Apache Tomcat をホスティングするノードごとに行う必要があります。
必要に応じ、ユーザーとグループを作成します。
Apache Tomcat を root ユーザー名以外で実行する場合は、適切なユーザーとグループを作成する必要があります。この作業には次のコマンドを使用します。
root としてログインしていない場合は、適切なユーザー名に切り替えます。
# su — user-name |
Apache Tomcat をインストールします。
Apache Tomcat をフェイルオーバーデータサービスとして配備する場合は、Sun Cluster 内の共有ファイルシステム上に Apache Tomcat をインストールします。
Apache Tomcat は共有ディスクに インストールすることをお勧めします。このソフトウェアをローカルファイルシステムにインストールした場合とクラスタファイルシステム上にインストールした場合の利点と欠点については、『Sun Cluster データサービスの計画と管理 (Solaris OS 版)』の「アプリケーションバイナリの格納先の決定」を参照してください。
Apache Tomcat をフェイルオーバーデータサービスとして配備する場合は、1 台のノード上の共有記憶装置に Apache Tomcat バイナリをインストールします。Apache Tomcat をスケーラブルデータサービスまたはマルチマスターデータサービスとして配備する場合は、Apache Tomcat データサービスをホスティングする各ノードのローカル記憶装置に Apache Tomcat バイナリをインストールします。
Apache Tomcat のインストール方法については、http://jakarta.apache.org/tomcat/index.html を参照してください。
スケーラブル構成またはマルチマスター構成のスケーラブルデータサービスとして Apache Tomcat を配備する場合は、Apache Tomcat をホスティングするノードごとに次の手順を繰り返します。
環境スクリプトを作成します。
(Apache Tomcat ユーザー名のログインシェルに応じて) Korn シェルスクリプトまたは C シェルスクリプトを作成し、Apache Tomcat の環境変数を設定します。環境変数はユーザープロファイルではなく、シェルスクリプトで設定する必要があります。
この方法を使用すると、複数の Apache Tomcat バージョンとインスタンスを 1 つのユーザー名でインストールして実行できます。
これらのシェルスクリプトは、Apache Tomcat データサービスをホストできるすべてのノードで利用できる必要があります。フェイルオーバー構成の場合は、共有ストレージにこのシェルスクリプトを保存します。スケーラブル構成またはマルチマスター構成の場合は、各ノードのローカルファイルシステムまたは共有ストレージに保存します。これらのスクリプトはすべてのノードで同一である必要があります。
# more env.ksh #!/usr/bin/ksh # # Environment for Tomcat (日本語) # Tomcat の環境 # JAVA_HOME=/usr/j2se export JAVA_HOME JAKARTA_HOME=/global/mnt1/jakarta-3.3 export JAKARTA_HOME TOMCAT_HOME=$JAKARTA_HOME export TOMCAT_HOME |
# more env.csh #!/usr/bin/csh # # Environment for Tomcat (日本語) # Tomcat の環境 # setenv JAVA_HOME /usr/j2se setenv JAKARTA_HOME /global/mnt1/jakarta-3.3 setenv TOMCAT_HOME $JAKARTA_HOME |
# more env.ksh #!/usr/bin/ksh # # Environment for Tomcat (日本語) # Tomcat の環境 # JAVA_HOME=/usr/j2se export JAVA_HOME CATALINA_HOME=/global/mnt1/jakarta-tomcat-4.1.18 export CATALINA_HOME |
# more env.csh #!/usr/bin/csh # # Environment for Tomcat (日本語) # Tomcat の環境 # setenv JAVA_HOME /usr/j2se setenv CATALINA_HOME /global/mnt1/jakarta-tomcat-4.1.18 |
環境変数は、バージョンと構成によって異なります。
この節では、Apache Tomcat のインストールと構成を確認する上で必要な手順について説明します。
データサービスをまだインストールしていないため、この手順ではアプリケーションの可用性が高いかどうかを確認することはできません。
Apache Tomcat を起動します。
Tomcat のユーザー名 (次の例では root) に切り替え、環境スクリプトが置かれているディレクトリに移動します。次の例では、Tomcat のバージョンは 4.1.24 です。
起動コマンドと停止コマンドの出力メッセージは、バージョンによって大きく異なります。
# . ./env.ksh # cd $CATALINA_HOME/bin # ./startup.sh Using CATALINA_BASE: /tomcat/jakarta-tomcat-4.1.24 Using CATALINA_HOME: /tomcat/jakarta-tomcat-4.1.24 Using CATALINA_TMPDIR: /tomcat/jakarta-tomcat-4.1.24/temp Using JAVA_HOME: /usr/j2se |
インストールをチェックします。
Web ブラウザを起動し、http:// nodename:8080 を指定してクラスタノードに接続します。デフォルトの Tomcat ホームページが表示されれば、すべて正常です。
# ./shutdown.sh Using CATALINA_BASE: /tomcat/jakarta-tomcat-4.1.24 Using CATALINA_HOME: /tomcat/jakarta-tomcat-4.1.24 Using CATALINA_TMPDIR: /tomcat/jakarta-tomcat-4.1.24/temp Using JAVA_HOME: /usr/j2se |
Apache Tomcat をフェイルオーバーリソースとして構成する場合は、次の手順を 1 台のノードで実行してください。Apache Tomcat をスケーラブル構成として配備する場合は、次の手順をノードごとに繰り返してください。
スケーラブル構成の場合、各 Apache Tomcat ホスト上の Tomcat 構成を一致させることが非常に重要です。
構成ファイル server.xml と Tomcat ユーザー構成を任意に変更します。
詳細は、http://jakarta.apache.org/tomcat/index.html を参照してください。
「Apache Tomcat のインストールと構成を確認する」に示されている方法で Apache Tomcat を起動します。
アプリケーションを配備します。
詳細は、http://jakarta.apache.org/tomcat/index.html を参照してください。
適切な方法でアプリケーションのテストを行います。
たとえば、Web ブラウザで適切なポートのあるホストに接続し、アプリケーションの起動ページを選択します。
「Apache Tomcat のインストールと構成を確認する」に示されている方法で Apache Tomcat を停止します。
Sun Cluster Apache Tomcat リソースを構成するには、Apache Tomcat が対応するポートが必要です。
障害モニターのために配備したアプリケーションの起動ページを使用することをお勧めします。この場合、「Sun Cluster Apache Tomcat HA パラメータファイルの概要」に示されている TestCmd には get /start_page を使用できます。この手順では、Apache Tomcat と Apache Tomcat が対応しているアプリケーションを監視します。
Sun Cluster の初回のインストールで Sun Cluster HA for Apache Tomcat パッケージをインストールしなかった場合は、ここで説明する作業を行なってパッケージをインストールしてください。この手順は、Sun Cluster HA for Apache Tomcat パッケージをインストールする各クラスタノード上で個別に実行します。この手順を実行するには、Sun Java Enterprise System Accessory CD Volume 3 が必要です。
複数のデータサービスを同時にインストールする場合は、『Sun Cluster ソフトウェアのインストール (Solaris OS 版)』の「ソフトウェアのインストール」に記載されている手順を実行してください。
次のインストールツールのどちらかを使用して、Sun Cluster HA for Apache Tomcat パッケージをインストールします。
Web Start プログラム
scinstall ユーティリティー
Web Start プログラムは、Sun Cluster 3.1 Data Services 10/03 より前のリリースでは利用できません。
Solaris 10 を使用している場合は、これらのパッケージを大域ゾーンにだけインストールしてください。パッケージをインストールしたあとで作成されたローカルゾーンにそれらのパッケージが転送されないようにするには、scinstall ユーティリティーを使用してパッケージをインストールしてください。Web Start プログラムは使用しないでください。
Web Start プログラムは、コマンド行インタフェース (CLI) またはグラフィカルユーザーインタフェース (GUI) を使用して実行できます。CLI と GUI での作業の内容と手順はほとんど同じです。Web Start プログラムの詳細は、installer(1M) のマニュアルページを参照してください。
Sun Cluster HA for Apache Tomcat パッケージをインストールするクラスタノード上でスーパーユーザーになります。
(省略可能) GUI で Web Start プログラムを実行する場合は、DISPLAY 環境変数が設定されていることを確認してください。
CD-ROM ドライブに Sun Java Enterprise System Accessory CD Volume 3 を挿入します。
ボリューム管理デーモン vold(1M) が実行されており、CD-ROM デバイスを管理するように構成されている場合は、デーモンによって CD-ROM が自動的に /cdrom/cdrom0 ディレクトリにマウントされます。
CD-ROM の Sun Cluster HA for Apache Tomcat コンポーネントディレクトリに移動します。
Sun Cluster HA for Apache Tomcat データサービスの Web Start プログラムは、このディレクトリに入っています。
# cd /cdrom/cdrom0/components/SunCluster_HA_APACHE_TC_3.1 |
Web Start プログラムを起動します。
# ./installer |
画面上の指示に従って、Sun Cluster HA for Apache Tomcat パッケージをノードにインストールします。
インストールが終了すると、Web Start プログラムのインストールサマリーが出力されます。このサマリーを使用して、インストール時に Web Start によって作成されたログを確認できます。これらのログは /var/sadm/install/logs ディレクトリに置かれます。
Web Start プログラムを終了します。
CD-ROM ドライブから Sun Java Enterprise System Accessory CD Volume 3 を取り出します。
この手順を実行するには、Sun Cluster Agents CD-ROM が必要です。この作業は、Sun Cluster の初回のインストールでこのデータサービスをインストールしていないことを前提としています。
Sun Cluster の初回のインストールで Sun Cluster HA for Apache Tomcat をインストールした場合は、「Sun Cluster HA for Apache Tomcat の登録と構成」に進みます。
この手順は、Sun Cluster HA for Apache Tomcat を実行するすべてのノード上で実行します。
Sun Cluster Agents CD-ROM を CD-ROM ドライブに挿入します。
オプションを指定せずに scinstall ユーティリティーを実行します。
scinstall ユーティリティーにより、ほかの情報を入力するためのプロンプトが表示されます。
メニューオプション「新しいデータサービスのサポートをこのクラスタノードに追加」を選択します。
scinstall ユーティリティーが対話型モードで起動します。
Sun Cluster Agents CD-ROM のパス名を指定します。
このユーティリティーには、この CD は “data services cd” と表示されます。
メニューオプション「q) 完了」を選択します。
「他のデータサービスも表示しますか ?」という質問に対して「yes」と入力します
このユーティリティーには、この CD は “data services cd” と表示されます。
インストールするデータサービスを指定します。
選択したデータサービスが scinstall ユーティリティーによって示され、この選択内容の確認が求められます。
scinstall ユーティリティーを終了します。
CD-ROM ドライブから CD を取り出します。
この節では、Sun Cluster HA for Apache Tomcat の構成に必要な手順について説明します。
この手順を実行する前に、データサービスパッケージをインストールしておく必要があります。
Sun Cluster HA for Apache Tomcat パッケージをインストールしなかった場合は、「Sun Cluster HA for Apache Tomcat パッケージのインストール」に進みます。
Apache Tomcat のファイルシステムをフェイルオーバーファイルシステムとしてマウントすることが前提です。
Apache Tomcat をホスティングするクラスタノードの 1 つで、スーパーユーザーになります。
# scrgadm -a -t SUNW.gds |
SUNW.HAStoragePlus というリソースタイプを登録します。
# scrgadm -a -t SUNW.HAStoragePlus |
フェイルオーバーリソースグループを作成します。
# scrgadm -a -g Apache-Tomcat-failover-resource-group |
Apache Tomcat ディスク記憶装置に対応するリソースを作成します。
# scrgadm -a -j Apache-Tomcat-has-resource \ > -g Apache-Tomcat-failover-resource-group \ > -t SUNW.HAStoragePlus \ > -x FilesystemMountPoints=Apache Tomcat- instance-mount-points |
Apache Tomcat の論理ホスト名に対応するリソースを作成します。
# scrgadm -a -L -j Apache-Tomcat-lh-resource \ > -g Apache-Tomcat-failover-resource-group \ > -l Apache-Tomcat-logical-hostname |
Apache Tomcat ディスク記憶装置と論理ホスト名のリソースが組み込まれたフェイルオーバーリソースグループを有効にします。
# scswitch -Z -g Apache-Tomcat-failover-resource-group |
Sun Cluster HA for Apache Tomcat で必要となるパラメータファイルを用意します。
# cd /opt/SUNWsctomcat/bin # cp pfile desired place |
ファイル内のコメントに従って、パラメータファイル pfile を編集します。次に例を示します。
#!/usr/bin/ksh # Set the Apache Tomcat specific environment variables which the start, # stop and check functions will use # # EnvScript Script to set runtime environment for tomcat # User Apache Tomcat user name # Basepath Absolute pathname to Tomcat Home directory i.e. 4.x CATALINA_HOME # or TOMCAT_HOME for 3.x # Host Hostname to test Apache Tomcat # Port Port where Apache Tomcat is configured # TestCmd Apache Tomcat test command # Startwait Sleeping $Startwait seconds after completion of the # start command (日本語) #!/usr/bin/ksh # 起動、停止、およびチェックの各機能が使用する # Apache Tomcat 固有の環境変数を設定する # # EnvScript Tomcat の実行時環境を設定するスクリプト # User Apache Tomcat ユーザー名 # Basepath Tomcat のホームディレクトリの絶対パス。つまり、4.x CATALINA_HOME # またはTOMCAT_HOME for 3.x # Host Apache Tomcat をテストするホストの名前 # Port Apache Tomcat が構成されるポート # TestCmd Apache Tomcat のテストコマンド # Startwait 起動コマンドが完了したあと$Startwait 秒の間休眠状態 # になる EnvScript= User= Basepath= Host= Port=8080 TestCmd="get /index.jsp" ReturnString="CATALINA" Startwait=20 |
次に、Apache Tomcat 4.1.24 の場合の例を示します。
EnvScript=/global/mnt1/tomtest/env.ksh User=tomtest Basepath=/global/mnt1/tomtest/jakarta-tomcat-4.1.24 Host=tomcat-lh Port=8080 TestCmd="get /index.jsp" ReturnString="CATALINA" Startwait=20
これは、デフォルトの起動ページ index.jsp を使用し、スタンドアロンの Web サーバーとして構成された Apache Tomcat 4.1.24 の例です。この起動ページには、文字列 CATALINA が含まれます。
Apache Tomcat データサービスをホスティングできる各ノードでこれらのパラメータファイルを使用できるようにする必要があります。フェイルオーバー構成の場合は、共有記憶装置に保存します。各ノード上の Apache Tomcat インスタンスごとに、異なるパラメータファイルを使用することはできません。
手順 8 を、必要なすべての Apache Tomcat インスタンスで繰り返します。
必要な Apache Tomcat コンポーネントを作成して登録します。
# cd /opt/SUNWsctomcat/util # cp sctomcat_config desired place # cp sctomcat_register desired place |
ファイル内のコメントに従って、sctomcat_config ファイルを編集します。次に例を示します。
# これらのパラメータは、(key=value) フォームでカスタマイズできます。 # # Copyright 2003 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # # This file will be sourced in by sctomcat_register and the parameters # listed below will be used. # # These parameters can be customized in (key=value) form # # RS - name of the resource for the application # RG - name of the resource group containing RS # PORT - name of the port number # LH - name of the LogicalHostname SC resource # SCALABLE - true or false for a scalable or failover resource # NETWORK - false or true, false for multiple master configurations without # shared address, in this case SCALABLE will be ignored # # PFILE - absolute pathname to the parameter file for the Tomcat resource # HAS_RS - name of the HAStoragePlus SC resource # (it can be a , separated list for the dependencies) (日本語) # このファイルは、sctomcat_register によってソースに取り込まれます。 # パラメータは以下のものが使用されます。 # # これらのパラメータは、(key=value) フォームを使用してカスタマイズできます。 # # RS - アプリケーションのリソースの名前 # RG - RS を含むリソースグループの名前 # PORT - ポート番号の名前 # LH - LogicalHostname SC リソースの名前 # SCALABLE - スケーラブルリソースかフェイルオーバーリソースかを true または false で指定 # NETWORK - false or true, false for multiple master configurations without # shared address, in this case SCALABLE will be ignored # # PFILE - Tomcat リソースのパラメータファイルの絶対パス名 # HAS_RS - HAStoragePlus SC リソースの名前 # (依存関係にもとづいて個別のリストにもできる) # RS= RG= PORT=8080 LH= SCALABLE=false NETWORK=true PFILE= HAS_RS= |
次に、Apache Tomcat の場合の例を示します。
RS=tomcat-res RG=tomcat-rg PORT=8080 LH=tomcat-lh SCALABLE=false PFILE=/global/mnt1/pfile NETWORK=true HAS_RS=tomcat-hastplus-res |
sctomcat_config の編集後、リソースを登録します。
# ./sctomcat_register |
必要な Apache Tomcat インスタンスごとに、手順 7、8、および 9 を繰り返します。
Apache Tomcat リソースを有効にします。
手順 10 で作成した Apache Tomcat リソースごとにこの手順を繰り返します。
# scstat |
# scswitch -e -j Apache-Tomcat-resource |
この手順は、Sun Cluster の初回のインストール時にデータサービスパッケージをインストールしたことを前提としています。
Sun Cluster の初回のインストールで Sun Cluster HA for Apache Tomcat パッケージをインストールしなかった場合は、「Sun Cluster HA for Apache Tomcat パッケージのインストール」に進んでください。
Apache Tomcat をホスティングするクラスタノードの 1 つで、スーパーユーザーになります。
# scrgadm -a -t SUNW.gds |
Sun Cluster HA for Apache Tomcat で必要となるパラメータファイルを用意します。
# cd /opt/SUNWsctomcat/bin cp pfile desired place |
ファイル内のコメントに従って、パラメータファイル pfile を編集します。次に例を示します。
#!/usr/bin/ksh # Set the Apache Tomcat specific environment variables which the start, # stop and check functions will use # # EnvScript Script to set runtime environment for tomcat # User Apache Tomcat user name # Basepath Absolute pathname to Tomcat Home directory i.e. 4.x CATALINA_HOME # or TOMCAT_HOME for 3.x # Host Hostname to test Apache Tomcat # Port Port where Apache Tomcat is configured # TestCmd Apache Tomcat test command # Startwait Sleeping $Startwait seconds after completion of the # start command (日本語) #!/usr/bin/ksh # 起動、停止、およびチェックの各機能が使用する # Apache Tomcat 固有の環境変数を設定する # # EnvScript Tomcat の実行時環境を設定するスクリプト # User Apache Tomcat ユーザー名 # Basepath Tomcat のホームディレクトリの絶対パス。つまり、4.x CATALINA_HOME # またはTOMCAT_HOME for 3.x # Host Apache Tomcat をテストするホストの名前 # Port Apache Tomcat が構成されるポート # TestCmd Apache Tomcat のテストコマンド # Startwait 起動コマンドが完了したあと$Startwait 秒の間休眠状態 # になる # EnvScript= User= Basepath= Host= Port=8080 TestCmd="get /index.jsp" ReturnString="CATALINA" Startwait=20
次に、Apache Tomcat 4.1.24 の場合の例を示します。
EnvScript=/tomcat/env.ksh User=tomcat Basepath=/tomcat/jakarta-tomca-4.1.24 Host=localhost Port=8080 TestCmd="get /index.jsp" ReturnString="CATALINA" Startwait=20
これは、デフォルトの起動ページ index.jsp を使用し、スタンドアロンの Web サーバーとして構成された Apache Tomcat 4.1.24 の例です。この起動ページには、文字列 CATALINA が含まれます。
Host パラメータは、pfile の場所によって異なります。
pfile が共有記憶装置に保存されている場合は、ローカルホストを使用する必要があります。
pfile がローカルストレージに保存されている場合は、ローカルホストまたはノードのホスト名のどちらでも使用できます。
Apache Tomcat データサービスをホスティングできる各ノードでこれらのパラメータファイルを使用できるようにする必要があります。スケーラブル構成またはマルチマスター構成の場合は、各ノードのローカルファイルシステムまたは共有ストレージに保存します。Apache Tomcat インスタンスのパラメータファイルは、すべてのノードで同一である必要があります。
必要なすべての Apache Tomcat インスタンスとノードで、この手順を繰り返します。
マルチマスターデータサービスのリソースグループを作成します。
# scrgadm -a -g Apache-Tomcat-Scalable-resource-group \ > -y Maximum_primaries=2 \ > -y Desired_primaries=2 \ |
ノードを増やす必要がある場合は、Maximum_primaries と Desired_primaries を適切な値に調整してください。
ルートファイルシステムにない場合は、Apache Tomcat ディスクストレージに対応するリソースを作成します。
ルートファイルシステムに存在する場合は、手順 7 に進みます。
# scrgadm -a -j Apache-Tomcat-has-resource \ > -g Apache-Tomcat-failover-resource-group \ > -t SUNW.HAStoragePlus \ > -x FilesystemMountPoints=Apache Tomcat- instance-mount-points |
Apache-Tomcat-has-resource を有効にします。
# scstat |
# scswitch -e -j Apache- Tomcat-has-resource |
必要な Apache Tomcat コンポーネントを作成して登録します。
# cd /opt/SUNWsctomcat/util # cp sctomcat_config desired place # cp sctomcat_register desired place |
ファイル内のコメントに従って、sctomcat_config ファイルを編集します。例を示します。
# これらのパラメータは、(key=value) フォームを使用してカスタマイズできます。 # # Copyright 2003 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # # This file will be sourced in by sctomcat_register and the parameters # listed below will be used. # # These parameters can be customized in (key=value) form # # RS - name of the resource for the application # RG - name of the resource group containing RS # PORT - name of the port number # LH - name of the LogicalHostname SC resource # SCALABLE - true or false for a scalable or failover resource # NETWORK - false or true, false for multiple master configurations without # shared address, in this case SCALABLE will be ignored # # PFILE - absolute pathname to the parameter file for the Tomcat resource # HAS_RS - name of the HAStoragePlus SC resource # (it can be a , separated list for the dependencies) (日本語) # このファイルは、sctomcat_register によってソースに取り込まれます。 # パラメータは以下のものが使用されます。 # # これらのパラメータは、(key=value) の形式を使用してカスタマイズできます。 # # RS - アプリケーションのリソースの名前 # RG - RS を含むリソースグループの名前 # PORT - ポート番号の名前 # LH - LogicalHostname SC リソースの名前 # SCALABLE - スケーラブルリソースかフェイルオーバーリソースかを true または false で指定 # NETWORK - 共有するアドレスを持たないマルチマスター構成の場合は false を指定。 # その場合、SCALABLE は無視される # # PFILE - Tomcat リソースのパラメータファイルの絶対パス名 # HAS_RS - HAStoragePlus SC リソースの名前 # (依存関係にもとづいて個別のリストにもできる) RS= RG= PORT=8080 LH= SCALABLE=false NETWORK=false PFILE= HAS_RS= |
次に、Apache Tomcat の場合の例を示します。
RS=tomcat-res RG=tomcat-rg PORT=8080 LH=tomcat-lh SCALABLE=false SNETWORK=falsePFILE=/local/pfile HAS_RS=Apache-Tomcat-has-resource |
ここでは LH パラメータは省いてください。このパラメータは使用されません。parameter HAS_RS を設定するのは、別のファイルシステム (広域ファイルシステムまたはローカルファイルシステム) を使用していて、適切な Apache-Tomcat-has-resource が作成されている場合に限られます。
sctomcat_config の編集後、リソースを登録します。
# ./sctomcat_register |
手順 6、7、8 を、必要なすべての Apache Tomcat インスタンスで繰り返します。
先の手順で作成したすべての Apache Tomcat リソースで次の手順を繰り返します。
# scstat |
# scswitch -e -j Apache-Tomcat-resource |
この手順は、Sun Cluster の初回のインストール時にデータサービスパッケージをインストールしたことを前提としています。
Sun Cluster の初回のインストールで Sun Cluster HA for Apache Tomcat パッケージをインストールしなかった場合は、「Sun Cluster HA for Apache Tomcat パッケージのインストール」に進んでください。
Apache Tomcat をホスティングするクラスタノードの 1 つで、スーパーユーザーになります。
# scrgadm -a -t SUNW.gds |
SharedAddress リソースのフェイルオーバーリソースグループを作成します。
# scrgadm -a -g Apache-Tomcat-SharedAddress-resource-group |
SharedAddress リソースを作成します。
# scrgadm -a -S -j Apache-Tomcat-SharedAddress-resource \ > -g Apache-Tomcat-SharedAddress-resource-group\ > -l Apache-Tomcat-SharedAddress-hostname |
SharedAddress リソースグループを有効にします。
# scswitch -Z -g Apache-Tomcat-SharedAddress-resource-group |
Sun Cluster HA for Apache Tomcat で必要となるパラメータファイルを用意します。
# cd /opt/SUNWsctomcat/bin cp pfile desired place |
ファイル内のコメントに従って、パラメータファイル pfile を編集します。次に例を示します。
#!/usr/bin/ksh # Set the Apache Tomcat specific environment variables which the start, # stop and check functions will use # # EnvScript Script to set runtime environment for tomcat # User Apache Tomcat user name # Basepath Absolute pathname to Tomcat Home directory i.e. 4.x CATALINA_HOME # or TOMCAT_HOME for 3.x # Host Hostname to test Apache Tomcat # Port Port where Apache Tomcat is configured # TestCmd Apache Tomcat test command # Startwait Sleeping $Startwait seconds after completion of the # start command (日本語) #!/usr/bin/ksh # 起動、停止、およびチェックの各機能が使用する # Apache Tomcat 固有の環境変数を設定する # # EnvScript Tomcat の実行時環境を設定するスクリプト # User Apache Tomcat ユーザー名 # Basepath Tomcat のホームディレクトリの絶対パス。つまり、4.x CATALINA_HOME # または TOMCAT_HOME for 3.x # Host Apache Tomcat をテストするホストの名前 # Port Apache Tomcat が構成されるポート # TestCmd Apache Tomcat のテストコマンド # Startwait 起動コマンドが完了したあと$Startwait 秒の間休眠状態 # になる # EnvScript= User= Basepath= Host= Port=8080 TestCmd="get /index.jsp" ReturnString="CATALINA" Startwait=20
次に、Apache Tomcat 4.1.24 の場合の例を示します。
EnvScript=/tomcat/env.ksh User=tomcat Basepath=/tomcat/jakarta-tomca-4.1.24 Host=localhost Port=8080 TestCmd="get /index.jsp" ReturnString="CATALINA" Startwait=20
これは、デフォルトの起動ページ index.jsp を使用し、スタンドアロンの Web サーバーとして構成された Apache Tomcat 4.1.24 の例です。この起動ページには、文字列 CATALINA が含まれます。
Host パラメータは、pfile の場所によって異なります。
pfile が共有記憶装置に保存されている場合は、ローカルホストを使用する必要があります。
pfile がローカルストレージに保存されている場合は、ローカルホストまたはノードのホスト名のどちらでも使用できます。
ここでは共有アドレスは使用しないでください。
Apache Tomcat データサービスをホスティングできる各ノードでこれらのパラメータファイルを使用できるようにする必要があります。スケーラブル構成またはマルチマスター構成の場合は、各ノードのローカルファイルシステムまたは共有ストレージに保存します。Apache Tomcat インスタンスのパラメータファイルは、すべてのノードで同一である必要があります。
必要なすべての Apache Tomcat インスタンスとノードで、この手順を繰り返します。
# scrgadm -a -g Apache-Tomcat-Scalable-resource-group \ > -y Maximum_primaries=2 \ > -y Desired_primaries=2 \ > -y RG_dependencies=Apache-Tomcat-SharedAddress-resource-group |
ノードを増やす必要がある場合は、Maximum_primaries と Desired_primaries を適切な値に調整してください。
ルートファイルシステムにない場合は、Apache Tomcat ディスクストレージに対応するリソースを作成します。
ルートファイルシステムに存在する場合は、手順 10 に進みます。
# scrgadm -a -j Apache-Tomcat-has-resource \ > -g Apache-Tomcat-failover-resource-group \ > -t SUNW.HAStoragePlus \ > -x FilesystemMountPoints=Apache Tomcat- instance-mount-points |
Apache-Tomcat-has-resource を有効にします。
# scstat |
# scswitch -e -j Apache- Tomcat-has-resource |
必要な Apache Tomcat コンポーネントを作成して登録します。
# cd /opt/SUNWsctomcat/util # cp sctomcat_config desired place # cp sctomcat_register desired place |
ファイル内のコメントに従って、sctomcat_config ファイルを編集します。例を示します。
# これらのパラメータは、(key=value) フォームでカスタマイズできます。 # # Copyright 2003 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # # This file will be sourced in by sctomcat_register and the parameters # listed below will be used. # # These parameters can be customized in (key=value) form # # RS - name of the resource for the application # RG - name of the resource group containing RS # PORT - name of the port number # LH - name of the LogicalHostname SC resource # SCALABLE - true or false for a scalable or failover resource # NETWORK - false or true, false for multiple master configurations without # shared address, in this case SCALABLE will be ignored # # PFILE - absolute pathname to the parameter file for the Tomcat resource # HAS_RS - name of the HAStoragePlus SC resource # (it can be a , separated list for the dependencies) (日本語) # このファイルは、sctomcat_register によってソースに取り込まれます。 # パラメータは以下のものが使用されます。 # # これらのパラメータは、(key=value) の形式を使用してカスタマイズできます。 # # RS - アプリケーションのリソースの名前 # RG - RS を含むリソースグループの名前 # PORT - ポート番号の名前 # LH - LogicalHostname SC リソースの名前 # SCALABLE - スケーラブルリソースかフェイルオーバーリソースかを true または false で指定 # NETWORK - 共有するアドレスを持たないマルチマスター構成の場合は false を指定。 # その場合、SCALABLE は無視される # # PFILE - Tomcat リソースのパラメータファイルの絶対パス名 # HAS_RS - HAStoragePlus SC リソースの名前 # (依存関係にもとづいて個別のリストにもできる) # RS= RG= PORT=8080 LH= SCALABLE=false NETWORK=true PFILE= HAS_RS= |
次に、Apache Tomcat の場合の例を示します。
RS=tomcat-res RG=tomcat-rg PORT=8080 LH=tomcat-lh SCALABLE=true NETWORK=true PFILE=/tomcat/pfile HAS_RS=Apache-Tomcat-has-resource |
共有アドレスの名前として構成しなければならないパラメータ LH を構成します。parameter HAS_RS を設定するのは、別のファイルシステム (広域ファイルシステムまたはローカルファイルシステム) を使用していて、適切な Apache-Tomcat-has-resource が作成されている場合に限られます。
sctomcat_config の編集後、リソースを登録します。
# ./sctomcat_register |
必要な Apache Tomcat インスタンスごとに、手順 8、9、および 10 を繰り返します。
先の手順で作成したすべての Apache Tomcat リソースで次の手順を繰り返します。
# scstat |
# scswitch -e -j Apache-Tomcat-resource |
ここでは、データサービスが正しくインストールされ構成されているかどうかを確認する手順について説明します。
Apache Tomcat のホストとなるクラスタノードの 1 つで、スーパーユーザーになります。
scstat を使用して、すべての Apache Tomcat リソースがオンライン状態であることを確認します。
# scstat |
オンライン状態でない Apache Tomcat リソースで、次のように scswitch コマンドを実行します。
# scswitch -e -j Apache Tomcat- resource |
フェイルオーバーデータサービスを配備した場合は、scswitch コマンドを次のように実行して Apache Tomcat リソースグループをほかのクラスタノード (node2 など) に切り替えます。
# scswitch -z -g Apache-Tomcat-failover-resource-group -h node2 |
この節の情報は、Sun Cluster Apache Tomcat HA パラメータファイルの内容について理解するために使用してください。ここでは、Sun Cluster Apache Tomcat HA パラメータファイルの構造と内容、さらに変数の選択方法について説明します。
Apache Tomcat HA は、パラメータファイルを使用して起動、停止、および検証を行う各コマンドにパラメータを渡します。このパラメータファイルは、いくつかの変数を設定する有効な Korn シェルスクリプトにする必要があります。このファイルの構造を、表 6 に示します。パラメータファイルの例は、「Sun Cluster HA for Apache Tomcat の登録と構成」を参照してください。
表 6 Apache Tomcat HA パラメータファイルの構造
変数 |
意味 |
---|---|
EnvScript |
これは、Apache Tomcat を所有するユーザー名のログインシェルによって決まる、ksh スクリプトまたは csh スクリプトです。このスクリプトは、Apache Tomcat インスタンスの起動と停止を行うために必要な Apache Tomcat 固有の環境変数を設定するために使用されます。 |
ユーザー |
Apache Tomcat インスタンスの所有者。 |
Basepath |
Basepath は、Tomcat bin ディレクトリが置かれているディレクトリの絶対パスです。通常、TOMCAT_HOME (3.x) または CATALINA_HOME (4.x) です。 |
Host |
Host 変数は、Apache Tomcat サーバープロセスの機能をテストするホストです。テストは Host: Port への接続によって実行されます。 |
Port |
Apache Tomcat がサービスを行うポート。このポートをホストと組み合わせて使用し、Apache Tomcat サーバープロセスの機能をテストします。 |
TestCmd |
この変数は、Apache Tomcat サーバープロセスの健全性を調べるためにそのプロセスに渡されるコマンドを示します。 |
ReturnString |
変数 ReturnString は、TestCmd に対する応答内に存在する必要がある文字列を示します。「Connection refused」は、Apache Tomcat サーバープロセスが稼動していない場合に応答内で使用される文字列なので、指定できません。 |
Startwait |
この変数は、Apache Tomcat の起動コマンドが完了したあと待機する時間を秒数で指定するために使用します。Apache Tomcat サーバープロセスが完全に動作可能になるまでの時間です。実際の秒数は、ハードウェアの速度と負荷によって異なります。通常は、10 秒から 20 秒の間を指定することをお勧めします。 |
表 6 内のパラメータは、任意の時点で変更できます。変更がどの時点で有効になるかが異なるだけです。
Apache Tomcat HA パラメータファイルの次のパラメータは、Apache Tomcat の起動と停止に使用されます。これらのパラメータに対する変更は、Apache Tomcat リソースを再起動するたびに、または無効にしてから有効にするたびに適用されます。
EnvScript
User
Basepath
Startwait
Apache Tomcat HA パラメータファイルの次のパラメータは、障害モニター内部で使用されます。これらのパラメータに対する変更は、Thorough_probe_interval ごとに適用されます。
Host
Port
TestCmd
ReturnString
アプリケーションの起動ページを利用し、TestCmd に get /start_page を設定します。さらに、ReturnString を起動ページに含まれる文字列に設定します。この方法で、Apache Tomcat がユーザーのアプリケーションに対してサービスを提供していることを確認できます。
Apache Tomcat のデフォルトの起動ページを使用し、TestCmd に get /default-startpage を設定します。この場合、ReturnString を起動ページに含まれる文字列に設定します。この文字列は、配備された Apache Tomcat バージョンによって異なります。3.x の場合は Tomcat home であり、4.x の場合は CATALINA です。この方法では、Apache Tomcat がデフォルトのアプリケーションにサービスを提供しているかどうかを監視します。
Apache Tomcat にテスト用のアプリケーションを配備します。(Sun Cluster Apache Tomcat エージェントには付属していません)get /startpage-of-the-application を TestCmd に設定します。この場合、ReturnString を起動ページに含まれる文字列に設定します。この方法で、Apache Tomcat がユーザーのテストアプリケーションに対してサービスを提供していることを確認できます。
上記のどの方法も適切でない場合は、get /a-page-which-does-not-exists を TestCmd に設定します。この場合は、Error Page に含まれる文字列を ReturnString に設定します。この方法では、存在しないページを配信しなければならないことが登録されるので、Apache Tomcat が動作可能かどうかを監視できます。
ブラウザで「ホスト名: ポート番号」を指定して接続し、異なるページを指定することによって、これらを評価できます。
ここでは、Sun Cluster HA for Apache Tomcat の障害モニターの検証アルゴリズムと機能について説明し、検証エラーに関連する条件、メッセージ、および回復アクションを示します。
障害モニターの概念については、『Sun Cluster の概念 (Solaris OS 版)』を参照してください。
Sun Cluster HA for Apache Tomcat の障害モニターは、リソースタイプ SUNW.gds と同じリソースプロパティーを使用します。使用するリソースプロパティーの全リストについては、SUNW.gds(5) のマニュアルページを参照してください。
Apache Tomcat の健全性を監視するために次の作業が行われます。
Thorough_probe_interval の間、休止します。
Apache Tomcat HA パラメータファイルで構成されている Host に ping を実行します。
Host と Port を介して Apache Tomcat に接続します。接続が正常に行われると、TestCmd が送信され、ReturnString が戻るかどうかのテストが行われます。接続が失敗すると、5 秒後に再スケジュールされます。再び失敗した場合は、プローブによって Apache Tomcat が再起動します。
「Connection refused」は接続が不可能な場合に返される文字列であるため、ReturnString にこの文字列を指定することはできません。
Apache Tomcat プロセスが停止した場合は、pmf がプローブに割り込み、Apache Tomcat をただちに再起動します。
Apache Tomcat が繰り返し再起動され、最終的に Retry_interval の Retry_count がゼロになると、別のノードでそのリソースグループのフェイルオーバーが開始されます。これは、リソースプロパティー Failover_enabled に TRUE が設定されている場合の動作です。
Sun Cluster HA for Apache Tomcat は、複数の Apache Tomcat インスタンスで使用できます。デバッグは、すべての Apache Tomcat インスタンスに対して有効にすることも、特定の Apache Tomcat インスタンスに対して有効にすることもできます。
Apache Tomcat コンポーネントの DEBUG ファイルは /opt/SUNWsctomcat/etc にあります。
このファイルを使用して、すべての Apache Tomcat インスタンスについてデバッグを有効にすることも、特定の Sun Cluster ノード上の特定の Apache Tomcat インスタンスについてデバッグを有効にすることもできます。Sun Cluster 全体に対して Sun Cluster HA for Apache Tomcat のデバッグを有効にする必要がある場合は、Sun Cluster 内の全ノードで次の手順を繰り返す必要があります。
次の手順を、Sun Cluster の各ノード上の、デバッグ出力が必要な Apache Tomcat に対して行います。
/etc/syslog.conf を編集し、daemon.notice を daemon.debug に変更します。
# grep daemon /etc/syslog.conf *.err;kern.debug;daemon.notice;mail.crit /var/adm/messages *.alert;kern.err;daemon.err operator # |
daemon.noticeを daemon.debugに変更し、syslogd を再起動します。次に示す grep daemon /etc/syslog.conf コマンドの出力例では、daemon.debug が設定されています。
# grep daemon /etc/syslog.conf *.err;kern.debug;daemon.debug;mail.crit /var/adm/messages *.alert;kern.err;daemon.err operator # # pkill -1 syslogd |
/opt/SUNWsctomcat/etc/config を編集し、DEBUG= を DEBUG=ALL または DEBUG=resource に変更します。
# cat /opt/SUNWsctomcat/etc/config # # Copyright 2003 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # # 使用方法: # DEBUG=<RESOURCE_NAME> または ALL # FDEBUG=ALL # |
デバッグを無効にするには、これらの手順を逆にします。