Tomcat クラスタ構成手順
HttpセッションのクラスタリングをTomcatで行う手順を以下に示す。
環境
OS:SuSE 9.2
Tomcat:5.5.9
Apache:2.0.54
mod_jk:1.2.14.1
JDK:1.5.0_04
Tomcat:5.5.9
Apache:2.0.54
mod_jk:1.2.14.1
JDK:1.5.0_04
構成
Apache
Tomcat1 Cluster1 Tomcat2 Cluster2
前提
Apache+Tomcatの連携手順、Tomcatロードバランシング設定手順を参照し、ApacheとTomcatの連携が完了していること。
修正ファイル
sever.xml
対象アプリケーションのweb.xml(今回はservlets-examples)
対象アプリケーションのweb.xml(今回はservlets-examples)
修正方法
1.server.xml
- Cluster定義のコメントアウトを解除。Clusterタグで囲われている部分)
- SHUTDOWN,HTTP/1.1,AJP 13,tcpListenPortを、Cluster間で重複しないようにずらす
- mcastBindAddressの値に、ループバックアドレスを設定(N/Wに接続していない場合)
2.web.xml
web-appタグ直下に、distributableタグをを追加する(属性なし)
web-appタグ直下に、distributableタグをを追加する(属性なし)
確認方法
本来であれば、Apache経由でTomcatにアクセスするのだが、Tomcatのクラスタリング機能が正常に稼動していることを確認するため、直接Tomcatにアクセスする。
http://localhost:[$Tomcat1のポート番号]/servlets-examples/servlet/SessionExample
1."Name of Session Attribute"と"Value of Session Attribute"に適当な値を入れて、実行ボタンを押す。
http://localhost:[$Tomcat1のポート番号]/servlets-examples/servlet/SessionExample
1."Name of Session Attribute"と"Value of Session Attribute"に適当な値を入れて、実行ボタンを押す。
2.Tomcat1に障害が発生したと想定し、Tomcat1を終了させる。
3.http://localhost:[$Tomcat2のポート番号]/servlets-examples/servlet/SessionExampleにアクセスする。
おおぉー、さっき入力した値が表示されていますね。