赛迪网 > IT技术 Java > Java-企业应用
  IT资讯搜索
 
IT产品搜索
[程序开发][网管世界][网络安全][数据库技术]
[操作系统][嘉宾聊天·在线访谈][活动集锦]
[精彩专题][Symantec专区][订阅IT技术周刊]
[开发论坛][网管论坛][安全论坛][数据库论坛]
[操作系统论坛][Sybase专区][IBM dW技术专区]
[病毒求助][病毒与漏洞播报][文档·源码下载]

服务器及中间件--TOMCAT种集群配置

发布时间:2008.01.30 04:53     来源:赛迪网    作者:linvsfen

我的运行环境: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算法被重定向到不同的服务器上进行处理,说明该负载均衡规则在这个测试中得到正确的体现。在关闭集群中一个节点后再启用它,能够自动发现该节点,并为该节点分配请求。
          (责任编辑:包春林)


[ 发表评论 ] 字体[  ] [ 打印 ] [ 进入博客 ] [ 进入论坛 ]  [ 推荐给朋友 ]
  相关文章
· 在组合模式中实现访问者(Visitor)模式 (01-29) · Java入门:JAVA语言种关于EJB技术概论 (01-29)
· 软件工程之面向对象的技术概述 (01-29) · J2SE综合:Java关于对Vector的一点理解 (01-29)
· J2SE综合--浅析实现排列组合查询算法 (01-29) · J2EE综合:深入谈论JSF与Struts的异同 (01-29)
· 表现层框架Struts/Tapestry/JSF架构比较 (01-29) · JAVA基础:webwork的基本配置与应用示例 (01-29)
· 基础:Eclipse上的Tomcat插件安装和调试 (01-29) · Java中不同类型的转换和提升 (01-29)
  客户需求反馈表
* 姓  名:
更多资料  了解方案  认识厂商
* 单位名称:
* 联系电话:
* 电子邮件:
  赛迪推荐  
  手机·资费 ·新品·导购·评测·手机资费·宽带
手机搜索  诺基亚 N73 MOTO Z6
  IT产品 ·笔记本·台式机·服务器·打印·投影
IT产品搜索 
  IT技术 ·开发·网管·安全·数据库·操作系统
  信息化 ·热点·专题·访谈·周刊·方案案例
· 中小企业网站建设存在弊端 手机实名推波助澜
· CIO应如何克服三个关键错误信念 CIO委屈定理
· 五条黄金准则能够让CIO巧妙加薪 CIO焦虑调查
· 网上书店解决方案 深圳边检指挥中心ITSM项目
  IT博客 ·曾剑秋·项立刚·Java学习·网管
  IT技术论坛 ·开发·网管·安全·数据库·系统