tomcat集群求教解决方法

 我来答
百度网友d547fa2
2017-04-15
知道答主
回答量:27
采纳率:0%
帮助的人:8.8万
展开全部
以Tomcat6 jre6 Ubuntu为例
第一、集群中所有的服务器要时间同步
不同组内服务器的时间差不但影响session过期判断,时间差过大时,根本就无法建立集群。Linux下同步时间通常采用ntp协议。可以在每个服务器上增加自动运行脚本文件,每天时间服务器自动同步,如/etc/cron.daily下增加脚本,内容为

Sh代码
/usr/sbin/ntpdate -s time.nist.gov

第二、修改需要同步的应用web应用的配置文件web.xml,增加应用的分步标识,即在web-app结点下增加:

Xml代码
<distributable/>

第三、为实现会话自动在组内服务器迁移,所有放在session里的对象都要实现java.io.Serializable接口

第四、打开tomcat下server.xml的注释,这是一种最简单的集群配置方式,适合组内服务器数量不多的情况(少于10台)

Xml代码
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>

第五、各台服务器上,通过java.net.InetAddress.getLocalHost().getHostAddress()一定能够获得非127.0.0.1的ip地址,用来收听集群消息。
可用以下代码进行测试

Java代码
public class test {
public static void main(String[] args) throws Exception {

System.out.println("ip:"+java.net.InetAddress.getLocalHost().getHostAddress());
}
}

将上面的代码保存成test.java
在相应的机器上执行
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式