Tomcatクラスタと負荷等化の実装(session同期)
7518 ワード
(一)環境説明サーバは4台、1台はapacheをインストールし、3台はtomcat をインストールします. apache 2.0.55、tomcat 5.5.15、jk 2.0.4、jdk 1.5.6またはjdk 1.4.2 ip構成:apacheをインストールするipは192.168.0.88、tomcatをインストールするサーバipはそれぞれ192.168.0.1/2/4 (二)取付過程 tomcatをインストールする3台のサーバにjdk をインストールします. jdkのインストールパスを設定し、環境変数pathにjdkのbinパスを加え、環境変数JAVA_を新規作成HOMEはjdkのインストール経路 を指す. tomcatをインストールする3台のサーバにtomcatをそれぞれインストールし、 を正常に起動できるように3つのtomcatをデバッグします. tomcatのserver.xmlポートをそれぞれ3台変更:7080/8888/9999 各tomcatの起動が正常かどうかをそれぞれテストする http://192.168.0.1:7080 http://192.168.0.2:8888 http://192.168.0.4:9999
(三)負荷等化配置過程 apacheをインストールするサーバにapache 2.0.55をインストールします.私のインストールパスはデフォルトC:Program FilesApache GroupApache 2 です.インストール後、apacheが正常に起動できるかどうかをテストし、正常に起動できるようにデバッグします.http://192.168.0.88 jk 2.0.4をダウンロードしてファイルを解凍する 解凍されたディレクトリのmodulesディレクトリのmod_jk 2.soファイルはapacheのインストールディレクトリの下のmodulesディレクトリにコピーされ、私のはC:Program FilesApache GroupApache 2modules です. apacheのインストールディレクトリのconfディレクトリのプロファイルhttpd.confを変更し、ファイルにLoadModuleモジュールのプロファイル情報の最後にLoadModule jk 2_を追加します.module modules/mod_jk2.so はそれぞれ3つのtomcatのserver.xmlを修正し、修正内容は以下の通りである: jvmRoute="jvm 1"をそれぞれjvmRoute="tomcat 1"、jvmRoute="tomcat 2"およびjvmRoute="tomcat 3"に変更します.それから3つのtomcatを再起動して、デバッグは正常に を起動することができます. apacheのインストールディレクトリのconfディレクトリの下にファイルworkers 2.propertieを作成し、ファイル内容を以下の に書き込む.は3つのtomcatのインストールディレクトリの中のwebappsで同じアプリケーションを創立して、私とアプリケーションディレクトリ名はTomcatDemoで、3つのアプリケーションディレクトリの中で同じWEB-INFディレクトリとページindex.jspを創立して、index.jspのページの内容は以下の通りです: apacheサーバと3つのtomcatサーバを再起動し、この負荷等化が完了しました.テスト負荷等化先テストapache、アクセスhttp://192.168.0.88/jkstatus.jsp、正常にアクセスでき、その内容をクエリーできますか?tomcatに関する構成情報と負荷説明が3つあり、アクセスhttp://192.168.0.88/TomcatDemo/index.jsp実行可能、実行可能を見ると、負荷等化 が確立されている.
(四)tomcatクラスタ構成負荷等化構成の条件下でtomcatクラスタ を構成するはそれぞれ3つのtomcatのserver.xmlを修正し、修正内容は以下の通りである:
クラスタ構成オプションのコメントを放せばよいは3つのtomcatを再起動し、このtomcatのクラスタは を完了しました.
(五)応用構成
ロードとクラスタを行うtomcatディレクトリの下にあるwebappsのアプリケーションのWEB-INFのweb.xmlファイルには、次のような構成を追加します.
補足:tomcatのセッション同期機能はマルチキャストに使用する必要があるため、windowsのデフォルトではマルチキャストサービスが開通していますが、linuxのデフォルトでは開通していません.route add-net 224.0.0.0 netmask 240.0.0 dev eth 0を開くように命令することができます.サーバの起動時にマルチキャストを開始する必要がある場合は、/etc/sysconfig/static-routesファイルにeht 0 net 224.0.0.0 netmask 240.0.0を追加します.具体的なマルチキャストの概念はCCNP関連の内容を参照してください.
(三)負荷等化配置過程
# Define the communication channel
[channel.socket:192.168.0.1:8009]
info=Ajp13 forwarding over socket
#
tomcatId=tomcat1 # tomcat server.xml jvmRoute="tomcat1"
debug=0
lb_factor=1 # ,
# Define the communication channel
[channel.socket:192.168.0.2:8009]
info=Ajp13 forwarding over socket
tomcatId=tomcat2
debug=0
lb_factor=1
# Define the communication channel
[channel.socket:192.168.0.4:8009]
info=Ajp13 forwarding over socket
tomcatId=tomcat3
debug=0
lb_factor=1
[status:]
info=Status worker, displays runtime information.
[uri:/jkstatus.jsp]
info=Display status information and checks the config file for changes.
group=status:
[uri:/*]
info=Map the whole webapp
debug=0
Cluster App Test
Server Info:
");%>
ID " + session.getId()+"
");
// Session
String dataName = request.getParameter("dataName");
if (dataName != null && dataName.length() > 0) {
String dataValue = request.getParameter("dataValue");
session.setAttribute(dataName, dataValue);
}
out.print("Session ");
Enumeration e = session.getAttributeNames();
while (e.hasMoreElements()) {
String name = (String)e.nextElement();
String value = session.getAttribute(name).toString();
out.println( name + " = " + value+"
");
System.out.println( name + " = " + value);
}
%>
(四)tomcatクラスタ構成
クラスタ構成オプションのコメントを放せばよい
(五)応用構成
ロードとクラスタを行うtomcatディレクトリの下にあるwebappsのアプリケーションのWEB-INFのweb.xmlファイルには、次のような構成を追加します.
TomcatDemo
補足:tomcatのセッション同期機能はマルチキャストに使用する必要があるため、windowsのデフォルトではマルチキャストサービスが開通していますが、linuxのデフォルトでは開通していません.route add-net 224.0.0.0 netmask 240.0.0 dev eth 0を開くように命令することができます.サーバの起動時にマルチキャストを開始する必要がある場合は、/etc/sysconfig/static-routesファイルにeht 0 net 224.0.0.0 netmask 240.0.0を追加します.具体的なマルチキャストの概念はCCNP関連の内容を参照してください.