Horizontal tomcat clustering or tomcat clustering on different machine system
http://www.easywayserver.com/implementation-tomcat-clustering.htm
Assume we need 3 tomcats as cluster node in 3 different machines
They are tomcatA, tomcatB, taomcatC
[size=large][color=blue]For tomcatA, change the server.xml as below[/color][/size]
1. Add jvmRoute
<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcatA">
2. Uncommented clustering tag
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
Add distributed tag in web.xml
TomcatA - > webapps - > cluster -> WEB-INF -> web.xml
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
[size=large][color=blue]<distributable />[/color][/size]
[size=large][color=blue]For tomcatB, change the server.xml as below[/color][/size]
1. Add jvmRoute
<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcatB">
2. Uncommented clustering tag
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
Add distributed tag in web.xml
TomcatB - > webapps - > cluster -> WEB-INF -> web.xml
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
[size=large][color=blue]<distributable />[/color][/size]
[size=large][color=blue]For tomcatC, change the server.xml as below[/color][/size]
1. Add jvmRoute
<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcatC">
2. Uncommented clustering tag
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
Add distributed tag in web.xml
TomcatC - > webapps - > cluster -> WEB-INF -> web.xml
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
[size=large][color=blue]<distributable />[/color][/size]
[size=large][color=blue]change httpd server config file httpd.conf.[/color][/size]
LoadModule jk_module modules/mod_jk.so
JkWorkersFile "C:\Program Files\Apache Software Foundation\Apache2.2\conf\workers.tomcat.horizontal.cluster.properties"
JkLogFile "C:\Program Files\Apache Software Foundation\Apache2.2\logs\mod_jk.log"
JkLogLevel error
JkMount /cluster loadbalancer
JkMount /cluster/* loadbalancer
[size=large][color=blue]create workers.tomcat.horizontal.cluster.properties[/color][/size]
workers.java_home=$JAVA_HOME
ps=/
worker.list=tomcatA,tomcatB,tomcatC,loadbalancer
worker.tomcatA.port=8009
worker.tomcatA.host=192.168.1.1
worker.tomcatA.type=ajp13
worker.tomcatA.lbfactor=1
worker.tomcatB.port=8009
worker.tomcatB.host=192.168.1.2
worker.tomcatB.type=ajp13
worker.tomcatB.lbfactor=1
worker.tomcatC.port=8009
worker.tomcatC.host=192.168.1.3
worker.tomcatC.type=ajp13
worker.tomcatC.lbfactor=1
worker.loadbalancer.type=lb
worker.loadbalancer.balanced_workers=tomcatA,tomcatB,tomcatC
worker.loadbalancer.sticky_session=1
[size=large][color=blue]create webapps/cluster for tomcatA, tomcatB and tomcatB and create an test.jsp in the web application as below[/color][/size]
<%
session.setAttribute("a","a");
%>
<html>
<head>
<title>Test JSP</title>
</head>
<body>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr bgcolor="#CCCCCC">
<td width="13%">TomcatA Machine</td>
<td width="87%"> </td>
</tr>
<tr>
<td>Session ID :</td>
<td><%=session.getId()%></td>
</tr>
</table>
</body>
</html>
[size=large][color=blue]open your IE: http://localhost/cluster/test.jsp,close IE.
Do it twice again.[/color][/size]
http://www.easywayserver.com/implementation-tomcat-clustering.htm
Assume we need 3 tomcats as cluster node in 3 different machines
They are tomcatA, tomcatB, taomcatC
[size=large][color=blue]For tomcatA, change the server.xml as below[/color][/size]
1. Add jvmRoute
<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcatA">
2. Uncommented clustering tag
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
Add distributed tag in web.xml
TomcatA - > webapps - > cluster -> WEB-INF -> web.xml
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
[size=large][color=blue]<distributable />[/color][/size]
[size=large][color=blue]For tomcatB, change the server.xml as below[/color][/size]
1. Add jvmRoute
<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcatB">
2. Uncommented clustering tag
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
Add distributed tag in web.xml
TomcatB - > webapps - > cluster -> WEB-INF -> web.xml
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
[size=large][color=blue]<distributable />[/color][/size]
[size=large][color=blue]For tomcatC, change the server.xml as below[/color][/size]
1. Add jvmRoute
<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcatC">
2. Uncommented clustering tag
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
Add distributed tag in web.xml
TomcatC - > webapps - > cluster -> WEB-INF -> web.xml
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
[size=large][color=blue]<distributable />[/color][/size]
[size=large][color=blue]change httpd server config file httpd.conf.[/color][/size]
LoadModule jk_module modules/mod_jk.so
JkWorkersFile "C:\Program Files\Apache Software Foundation\Apache2.2\conf\workers.tomcat.horizontal.cluster.properties"
JkLogFile "C:\Program Files\Apache Software Foundation\Apache2.2\logs\mod_jk.log"
JkLogLevel error
JkMount /cluster loadbalancer
JkMount /cluster/* loadbalancer
[size=large][color=blue]create workers.tomcat.horizontal.cluster.properties[/color][/size]
workers.java_home=$JAVA_HOME
ps=/
worker.list=tomcatA,tomcatB,tomcatC,loadbalancer
worker.tomcatA.port=8009
worker.tomcatA.host=192.168.1.1
worker.tomcatA.type=ajp13
worker.tomcatA.lbfactor=1
worker.tomcatB.port=8009
worker.tomcatB.host=192.168.1.2
worker.tomcatB.type=ajp13
worker.tomcatB.lbfactor=1
worker.tomcatC.port=8009
worker.tomcatC.host=192.168.1.3
worker.tomcatC.type=ajp13
worker.tomcatC.lbfactor=1
worker.loadbalancer.type=lb
worker.loadbalancer.balanced_workers=tomcatA,tomcatB,tomcatC
worker.loadbalancer.sticky_session=1
[size=large][color=blue]create webapps/cluster for tomcatA, tomcatB and tomcatB and create an test.jsp in the web application as below[/color][/size]
<%
session.setAttribute("a","a");
%>
<html>
<head>
<title>Test JSP</title>
</head>
<body>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr bgcolor="#CCCCCC">
<td width="13%">TomcatA Machine</td>
<td width="87%"> </td>
</tr>
<tr>
<td>Session ID :</td>
<td><%=session.getId()%></td>
</tr>
</table>
</body>
</html>
[size=large][color=blue]open your IE: http://localhost/cluster/test.jsp,close IE.
Do it twice again.[/color][/size]