Apache + Tomcat 负载均衡集群JK方式Session 同步(2)

5.配置tomcat
讲Cluster 前的注释去掉,启用tomcat集群功能。
一般不需要修改什么东西,但在我这边,两台linux的tomcat就是死活找不到node,而同样的配置文件在window下的跑得很是正常。
有个东西要说明下,因为tomcat的session同步功能需要用到组播,windows默认情况下是开通组播服务的,但是linux默认情况下并没有开通,可以通过指令打开route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0,如果需要服务器启动时即开通组播需在/etc/sysconfig/static-routes文件内加入eht0 net 224.0.0.0 netmask 240.0.0.0。具体组播概念请查阅CCNP相关内容。
可以通过netstate -g 来查看组播状态,也可以在route -e 命令中看到

原来一直提示这个问题
信息: Manager [/clusterapp]: skipping state transfer. No members active in cluster group.
最后测试只要修改在Cluster之间的一段代码

<Receiver        
className="
org.apache.catalina.cluster.tcp.ReplicationListener"
                tcpListenAddress="auto"
                tcpListenPort="4001"
                tcpSelectorTimeout="100"
                tcpThreadCount="6"/>
改为

<Receiver        
className="
org.apache.catalina.cluster.tcp.ReplicationListener"
                tcpListenAddress="192.168.1.12"
                tcpListenPort="4001"
                tcpSelectorTimeout="100"
                tcpThreadCount="6"/>
在13的服务器上也将这一段修改为自己的ip

然后打开jvmRoute ,跟workers.properties 的两个tomcat名字相匹配
ip1

<Engine defaultHost="localhost" jvmRoute="tomcat12"/>
ip2

<Engine defaultHost="localhost" jvmRoute="tomcat13"/>
好了,apache和tomcat的配置好了,可以访问了。
这里,再提供一个链接,可以监控和配置负载均衡的各种信息
或、jkstatus来访问网站。

注:需要在web.xml的display-name后面 下加上一段。 这个跟顺序有关的,不然,xml文件会变红哦。

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://Java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee " version="2.4">
<display-name>TomcatDemo</display-name>
<distributable/>
</web-app>

linux

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wyjsgw.html