Nginx+Tomcat+Session 高性能群集搭建(2)

2、设置tomcat的java变量
 

cd /usr/local/tomcat_1/bin/ && vi setenv.sh 创建一个setenv.sh脚本文件,添加如下语句即可  JAVA_HOME=/usr/java/jdk1.6.0_18  JAVA_JRE=/usr/java/jdk1.6.0_18/jre  并且拷贝setenv.sh文件到tomcat_2/bin/下 :   cp -p /usr/local/tomcat_1/bin/setenv.sh /usr/local/tomcat_2/bin 下即可!  保存退出  检查两个tomcat下bin目录的*.sh 文件是否有可执行权限,如果没有则进入到相应的目录执行 chmod o+x *.sh 即可!   给两个tomcat分别创建不同的目录如下:mkdir -p /usr/webapps/{www_1,www_2}

3、设置Tomcat的 server.xml文件:
【以下是我的tomcat配置文件具体内容,本想已附件的形式发的,本博客目前还不支持附件功能,重要修改的地方供大家参考,如果把所有配置都粘贴在这里,显示有问题,所有用了两个web链接!这样一来部分解释就产生了影响。不明白的欢迎留言】
这个是完整的server.xml文件下载地址:

两个Tomcat配置的cluster里面的端口分别为4000、4001 ,必须设置成不同的端口;而且得分别设置两个jvmroute名称,一会在nginx中会用到!    配置Tomcat session会话复制:  分别在两个tomcat的conf下web.xml文件里面加入如下一行即可:     <distributable/>  这个是加入tomcat的session复制的,做tomcat集群必须需要这一步,否则用户的session就无法正常使用 <distributable/>直接加在</web-app>之前就可以了    配置完毕后,我们测试一下广播  java -cp tomcat-replication.jar MCaster 224.0.0.1 45564 Terminal1  java -cp tomcat-replication.jar MCaster 224.0.0.1 45564 Terminal2   如果不报错则能正常广播  tomcat-replication.jar 下载:~fhanik/tomcat-replication.jar  如果是两台机器的话,可以用tcpdump 抓包看看! 

Tomcat配置完毕,启动两个tomcat,先启动tomcat1,tomcat_1启动日志如下:

信息: Initializing Coyote HTTP/1.1 on http-8080  2011-3-18 19:56:21 org.apache.catalina.startup.Catalina load  信息: Initialization processed in 1088 ms  2011-3-18 19:56:21 org.apache.catalina.core.StandardService start  信息: Starting service Catalina  2011-3-18 19:56:21 org.apache.catalina.core.StandardEngine start  信息: Starting Servlet Engine: Apache Tomcat/6.0.18  2011-3-18 19:56:21 org.apache.catalina.ha.tcp.SimpleTcpCluster start  信息: Cluster is about to start  2011-3-18 19:56:21 org.apache.catalina.tribes.transport.ReceiverBase bind  信息: Receiver Server Socket bound to:/192.168.2.79:4000  2011-3-18 19:56:21 org.apache.catalina.tribes.membership.McastServiceImpl setupSocket  信息: Setting cluster mcast soTimeout to 500  2011-3-18 19:56:21 org.apache.catalina.tribes.membership.McastServiceImpl waitForMembers  信息: Sleeping for 1000 milliseconds to establish cluster membership, start level:4  2011-3-18 19:56:22 org.apache.catalina.tribes.membership.McastServiceImpl waitForMembers  信息: Done sleeping, membership established, start level:4  2011-3-18 19:56:22 org.apache.catalina.tribes.membership.McastServiceImpl waitForMembers  信息: Sleeping for 1000 milliseconds to establish cluster membership, start level:8  2011-3-18 19:56:23 org.apache.catalina.tribes.membership.McastServiceImpl waitForMembers  信息: Done sleeping, membership established, start level:8  2011-3-18 19:56:23 org.apache.catalina.ha.deploy.FarmWarDeployer start  严重: FarmWarDeployer can only work as host cluster subelement!  2011-3-18 19:56:23 org.apache.catalina.ha.session.DeltaManager start  信息: Register manager to cluster element Engine with name Catalina  2011-3-18 19:56:23 org.apache.catalina.ha.session.DeltaManager start  信息: Starting clustering manager at  2011-3-18 19:56:23 org.apache.catalina.ha.session.DeltaManager getAllClusterSessions  信息: Manager [localhost#]: skipping state transfer. No members active in cluster group.  2011-3-18 19:56:23 org.apache.catalina.ha.session.JvmRouteBinderValve start  信息: JvmRouteBinderValve started  2011-3-18 19:56:23 org.apache.coyote.http11.Http11Protocol start  信息: Starting Coyote HTTP/1.1 on http-8080  2011-3-18 19:56:24 org.apache.jk.common.ChannelSocket init  信息: JK: ajp13 listening on /0.0.0.0:8411  2011-3-18 19:56:24 org.apache.jk.server.JkMain start  信息: Jk running ID=0 time=0/42 config=null 2011-3-18 19:56:24 org.apache.catalina.startup.Catalina start  信息: Server startup in 2676 ms 

Tomcat_2的日志如下:

000,{-64, -88, 2, 79},4000, alive=86901,id={78 42 25 -19 -102 3 64 10 -76 93 69 -43 45 76 95 -112 }, payload={}, command={}, domain={}, ]. This operation will timeout if no session state has been received within 60 seconds.  2011-3-18 19:57:48 org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor report  信息: ThroughputInterceptor Report[  Tx Msg:1 messages  Sent:0.00 MB (total)  Sent:0.00 MB (application)  Time:0.01 seconds  Tx Speed:0.04 MB/sec (total)  TxSpeed:0.04 MB/sec (application)  Error Msg:0  Rx Msg:1 messages  Rx Speed:0.00 MB/sec (since 1st msg)  Received:0.00 MB]   2011-3-18 19:57:48 org.apache.catalina.ha.session.DeltaManager waitForSendAllSessions  信息: Manager [localhost#]; session state send at 11-3-18 下午7:57 received in 125 ms.  2011-3-18 19:57:48 org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor report  信息: ThroughputInterceptor Report[  Tx Msg:2 messages  Sent:0.00 MB (total)  Sent:0.00 MB (application)  Time:0.05 seconds  Tx Speed:0.02 MB/sec (total)  TxSpeed:0.02 MB/sec (application)  Error Msg:0  Rx Msg:2 messages  Rx Speed:0.00 MB/sec (since 1st msg)  Received:0.00 MB]   2011-3-18 19:57:49 org.apache.catalina.ha.session.JvmRouteBinderValve start  信息: JvmRouteBinderValve started  2011-3-18 19:57:49 org.apache.coyote.http11.Http11Protocol start  信息: Starting Coyote HTTP/1.1 on http-8081  2011-3-18 19:57:49 org.apache.jk.common.ChannelSocket init  信息: JK: ajp13 listening on /0.0.0.0:8412  2011-3-18 19:57:49 org.apache.jk.server.JkMain start  信息: Jk running ID=0 time=0/34 config=null 2011-3-18 19:57:49 org.apache.catalina.startup.Catalina start  信息: Server startup in 2962 ms 

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

转载注明出处:http://www.heiqu.com/d40134c6486c98d652dbcd0823e021b7.html