随笔 - 1, 文章 - 44, 评论 - 2, 引用 - 0
数据加载中……

TOMCAT集群配置

我的运行环境:Windows2003 Server SP4 + J2SDK1.5.0 +Tomcat5.5.9
准备软件
Tomcat 5.5.9   JDK1.5.0
一.配置过程
1、    安装JDK1.5.0。采用默认安装就可以。
2、    安装tomcat到C:\ tomcat 50,采用完全安装,该程序用于实现负载均衡功能。
3、    将tomcat50的内容进行完全复制,生成C:\ tomcat 51、C:\ tomcat 52、C:\ tomcat 53,分别用做集群中的节点。  
4、    修改负载均衡规则,使其遵循轮循算法(RoundRobin)。
4.1将testLB.jsp复制到c:\tomcat50\webapps\balancer文件夹中
   4.2将文件夹classes复制到c:\tomcat50\webapps\balancer\WEB-INF文件夹中
   4.3修改c:\web\tomcat50\webapps\balancer\WEB-INF\web.xml文件如下:
   <filter-mapping>
    <filter-name>BalancerFilter</filter-name>
    <url-pattern>/LoadBalancer</url-pattern>
  </filter-mapping>
5、    在集群中每个节点下,部署clusterapp应用。Clusterapp包含sessiondata.jsp,test.jsp,脚本。test.jsp是用来验证节点状态的页面;sessiondata.jsp是用来响应用户所发送的请求,同时记录会话ID,会话的起始和最后时间,提供用户增加、修改、删除会话的属性字段和属性值,可以通过此来判断会话的持续与否。
6、    将log4j的log4j-1.2.9.jar复制到每个%tomcat%/common/ lib下,使其将会话日志统一存储到指定的文件中。
7、    修改每个tomcat的server.xml配置文件,参数如下表所示。
配置              Instance 1    Instance 2       Instance 3    Instance 4
Instance Type    Load Balancer    Node 1       Node 2             Node 3
Code name             TC-LB             TC01       TC02             TC03
Home Directory    c:/tomcat50    c:/tomcat51      c:/tomcat52    c:/tomcat53
Server Port    8005          9005      10005            11005
Connector             8080         9080               10080            11080
JK2 AJP Connector    8009         9009               10009            11009
Cluster mcastAddr    228.0.0.4         228.0.0.4    228.0.0.4           228.0.0.4
Cluster mcastPort    45564        45564              45564           45564
tcpListenAddress    127.0.0.1        127.0.0.1    127.0.0.1           127.0.0.1
Cluster tcpListenPort 4000        4001             4002           4003

8、修改c:\web\tomcat50\webapps\balancer\WEB-INF\config\ruler.xml文件如下:
<?xml version="1.0" encoding="UTF-8"?>

<rules>
    <!--  Redirect to server instance based on RoundomRobinRule  -->
    <rule className="org.apache.webapp.balancer.rules.RandomRedirectRule"
        serverInstance="1"
        maxServerInstances="3"
        tcpListenAddress="127.0.0.1"
        tcpListenPort="4001"
        testWebPage="http://localhost:9080/clusterapp/test.jsp"
        redirectUrl="http://localhost:9080/clusterapp/sessiondata.jsp" />
    <rule className="org.apache.webapp.balancer.rules.RandomRedirectRule"
        serverInstance="2"
        maxServerInstances="3"
        tcpListenAddress="127.0.0.1"
        tcpListenPort="4002"
        testWebPage="http://localhost:10080/clusterapp/test.jsp"
    redirectUrl="http://localhost:10080/clusterapp/sessiondata.jsp" />

    <rule className="org.apache.webapp.balancer.rules.RandomRedirectRule"
        serverInstance="3"
        maxServerInstances="3"
        tcpListenAddress="127.0.0.1"
        tcpListenPort="4003"
        testWebPage="http://localhost:11080/clusterapp/test.jsp"
    redirectUrl="http://localhost:11080/clusterapp/sessiondata.jsp" />

    <!--  Default redirect if none of the above rules match  -->
    <rule className="org.apache.webapp.balancer.rules.AcceptEverythingRule"
        redirectUrl="http://localhost:8080/balancer/testLB.jsp" />
</rules>
9、启动tomcat的应用。手动双击每个tomcat/bin的startup.bat程序。
二.Web请求集群环境下流程
1、    启动访问起始页(http://localhost:8080/balancer/testLB.jsp)
2、    JSP重定向请求到负载均衡过滤文件(http://localhost:8080/balancer/LoadBalancer)
3、    负载均衡的tomcat接受请求,根据制定的负载均衡算法,重定向到可用的集群节点(TC01、TC02、TC03)
4、    对应集群中节点的sessiondata.jsp(位于clusterapp应用下)页面将启动。
5、    sesiondata.jsp将在web上显示会话的详细信息(如会话ID,最后访问时间)
在测试的过程中采用RoundRobin算法,通过对Instance 1发起多个http://localhost:8080/balancer/testLB.jsp测试请求,发现每个请求返回页面的端口号不完全一致,在9080、10080、11080端口不规则的出现,即客户端的访问请求按照RoundRobin算法被重定向到不同的服务器上进行处理,说明该负载均衡规则在这个测试中得到正确的体现。在关闭集群中一个节点后再启用它,能够自动发现该节点,并为该节点分配请求。

posted on 2006-07-11 11:58 ASONG 阅读(466) 评论(0)  编辑  收藏 所属分类: 应用服务器


只有注册用户登录后才能发表评论。


网站导航: