配置前的准备工作
在配置集群应用前要对集群的配置信息有一个良好的设计,下面就是我们这次配置的集群信息:
在同一网段内的不同机器上配置集群,以下是以2台机器做群集,
机器类型 操作系统 硬件配置 角色 备注
普通PC Linux as 4 IP:10.3.15.85 PORT:9080 Managed Server Pc1
普通PC Linux as 4 IP: 10.3.15.84 PORT:9080 Managed Server Pc2
普通PC Linux as 4 IP: 10.3.15.85 PORT:80 Balancer Server Pc1
1 操作系统
RedHat Linux as4
2 所需软件
Apache 2.0.54 下载地址
upload/201106071159522828.gif;.*\.js;.*\.jpg;.*\.htm;.*\.html;.*\.txt;”/>
tempDir=”/tmp/war-temp/”
deployDir=”/tmp/war-deploy/”
watchDir=”/tmp/war-listen/”
watchEnabled=”false”/>
至此,系统已经整个完毕
启动apache和tomcat服务
# /usr/local/apache/bin/apachectl start
#/usr/local/tomcat/bin/catalina.sh start
将如下内容添加至/etc/rc.d/rc.local文件末尾,以便系统启动后开启apache,tomcat服务
/usr/local/tomcat/bin/catalina.sh start
/usr/local/apache/bin/apachectl start
5 测试群集
经过以上所有步骤,一个具有2个节点的tomcat群集已经配置完毕,但有时可能不能进行节点间的会话复制,是因为要把所有节点的server.xml中的tcpListenAddress=”auto”改为tcpListenAddress=”10.3.15.85” ,也就是改为真实的ip地址。
如果在启动时,出现如下信息:skipping state transfer. No members active in cluster group. 也需要修改上面的信息。否则,session是不能在多个tomcat间复制session的。
5.1 编写一个简单web应用,包含如下内容:
写一个如下的2个jsp页面。
test.jsp内容如下:
test
int i=0;
WorkerBean test = new WorkerBean();
//HttpSession tsession=request.getSession();
test.setWorker_no(request.getSession().getId()+i);
session.setAttribute(“worker_no”,test.getWorker_no());
System.out.println(“OK”);
System.out.println(“session.getAttribute()==”+session.getAttribute(“worker_no”));
out.println(“session.getAttribute()==”+session.getAttribute(“worker_no”)); out.println(“OK”);
%>
Tomcat
testResult.jsp内容如下
test
System.out.println(“OK”);
System.out.println(“session.getAttribute()==”+session.getAttribute(“worker_no”));
out.println(“OK”); out.println(“session.getAttribute()==”+session.getAttribute(“worker_no”));
%>
Tomcat
5.2 编写这个jsp调用的javaBean类。
WorkerBean.java
public class WorkerBean implements java.io.Serializable {
String worker_no;
/**
@return返回worker_no。
*/
public String getWorker_no() {
return worker_no;
}
/**
@param worker_no要设置的worker_no。
*/
public void setWorker_no(String worker_no) {
this.worker_no = worker_no;
}
}
注意:这个类一定要实现序列化,是为了把session对象存在这个类中,session是要在群集中复制的,否则session对象不能在群集中复制。
5.3配置web.xml文件
注意:一定要加入,其他的就是和普通的应用一样的。
-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN” “http://java.sun.com/dtd/web-app_2_3.dtd”>
web
5.4确保server.xml如附录1和附录2所示:略
5.5 发布web应用,把上面的所有文件考到tomcat的webapps/ROOT目录下,覆盖掉原来的文件就可以了。
5.6 测试web应用
启动apache和tomcat1和tomcat2.
在浏览器地址栏中输入 http://10.3.15.85/ 会看到如下页面